您的位置:首页技术文章
文章详情页

java - 正则表达式问题

浏览:78日期:2023-11-01 15:25:44

问题描述

想用正则提取如下信息 改怎么写呢?

123 男 北京 张三343 女 河北 石家庄 李四2343 男 山东 王五提取 男 张三 女 李四 男 王五

问题解答

回答1:

其实对于中文, 特别是这样格式的中文, 我是不建议用正则的, 虽然勉强也能实现:

# coding: utf8import refilename = ’2.txt’patern = re.compile(r’^d+ (S+).*?(S+)’)with open(filename) as f: for i in f:result = patern.findall(i[:-1]) if result and len(result[0]) == 2: print result[0][0], result[0][1] # 输出:男 北京女 河北男 山东

你也可以用split的方法(建议):

# coding: utf8filename = ’2.txt’with open(filename) as f: for i in f:result = i.split()print result[1], result[-1] # 输出:男 北京女 河北男 山东

标签: java
相关文章: