文章详情页
java - 正则表达式问题
浏览:185日期: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
相关文章:
1. dockerfile - 为什么docker容器启动不了?2. javascript - JS用ajax爬取百度外卖店家信息3. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下4. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?5. 在应用配置文件 app.php 中找不到’route_check_cache’配置项6. java - 为什么第一个线程已经释放了锁,第二个线程却不行?7. javascript - 编程,算法的问题8. docker - 如何修改运行中容器的配置9. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?10. angular.js使用$resource服务把数据存入mongodb的问题。
排行榜

网公网安备