Python正则表达式匹配问题

时间:2014-08-03 14:22:23

标签: python regex

所以我有这个小代码:

import re
file = open('frame.txt',"r")


for i in file:
    a = re.match(r"/\*(.*)/g",i)
    print a

除了http://www.regexr.com/匹配之外,每行打印“无”是正确的,但我期待匹配

lorem * wew

ispum * ewew

dolor * wew

2 个答案:

答案 0 :(得分:0)

http://www.regexr.com/专为javascript设计,遵循Javascript正则表达式语法。但Python不需要分隔符(删除斜杠),并且必须用适当的方法替换g修饰符(可能是re.findall

查看documentation了解更多信息。

https://pythex.org/是专为Python设计的在线测试程序。

答案 1 :(得分:0)

猜测(因为缺乏信息)" / g"不应该成为你的前任的一部分。 它应该作为标志给出,因为re.match API是:

match(pattern, string, flags=0)

由于你可能是从http://www.regexr.com/复制的,我想你无论如何也不需要这面旗帜。 删除" / g"你会得到你的比赛。 请记住,您将获得Match对象(您可以看到使用MatchObject.string捕获的字符串。

无论如何,如果它不是一个巨大的文件,你可以使用re.findall():

file = open('frame.txt',"r")
content = file.read()
matches = re.findall(r"/\*(.*)", content)