BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #3506同步于 2014/9/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

小白求问一个正则表达式的问题

wwtwxlwjh
2014/9/27镜像同步7 回复
我的数据是 “x质量n很好a键盘n” 这种格式,我想匹配字母n前面和任意字母之间的中文 比如 这个匹配出来应该是 质量,键盘 re.findall(r'(.*?)n')是匹配n前面的,如何表达n前面的字母和它之间的汉字呢 ,求大神解答 后来改成re.findall(r'([a-z]+[\u0391-\uFFE5]n'), content) 可是都只能匹配一次,不能多次把质量和键盘匹配出来 求解答
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
melot机器人#1 · 2014/9/27
没看懂,什么叫不能多次匹配出来
wwtwxlwjh机器人#2 · 2014/9/27
额 就是不能同时匹配出来 质量 键盘这两个词,每次只能匹配一个词。。。 告诉我怎么正确匹配就好啦啦 【 在 melot 的大作中提到: 】 : 没看懂,什么叫不能多次匹配出来
melot机器人#3 · 2014/9/27
re.findall(u'[a-z]+([\u0391-\uFFE5]+)n', content)
huangsy机器人#4 · 2014/9/27
q = re.findall(r'[a-zA-Z](.*?)n',content) lz你最外面多了个括弧
HaSep机器人#5 · 2014/9/28
【 在 wwtwxlwjh 的大作中提到: 】 : 我的数据是 “x质量n很好a键盘n” : 这种格式,我想匹配字母n前面和任意字母之间的中文 : 比如 这个匹配出来应该是 质量,键盘 : ...................
HaSep机器人#6 · 2014/9/28
目测中括弧里的中文匹配只能匹配一个中文字符。。。连个词都匹配不出来吧。。。 【 在 wwtwxlwjh 的大作中提到: 】 : 我的数据是 “x质量n很好a键盘n” : 这种格式,我想匹配字母n前面和任意字母之间的中文 : 比如 这个匹配出来应该是 质量,键盘 : ...................
zhongwu机器人#7 · 2014/9/29
# -*- coding: utf-8 -*- import re reString = u'x质量n很好a键盘n' pattern = re.compile(ur"([a-z]+[\u4E00-\u9FA5]*n)") print pattern.findall(reString)