【发布时间】:2017-05-24 06:37:30
【问题描述】:
我正在尝试查找文本中所有出现的字符串。正则表达式在 python 控制台和 pythex 编辑器中运行良好,但是当我运行脚本时,它没有找到字符串。
正则表达式
regex = "r'((^|\W|\s)" + keyword + "*)'"
count_list = re.findall(regex, string, re.IGNORECASE)
keyword是输入变量,value是news
输入字符串
Latest news alerts from the world. Get news by subscribing us.
在 python 控制台和编辑器中,我得到了 两个 组。但是在运行脚本时,我得到了 zero 作为结果。
我找不到正则表达式有什么问题。
【问题讨论】:
-
虽然您可以通过这种方式构造正则表达式,但它不适用于 Python 表达式,例如原始字符串。
-
那么,解决办法是什么?
-
您的代码中有错字:
"r'((^|\W|\s)"=>r'((^|\W|\s)'和"*)'"=>"*)"。甚至更好:r'((?:^|\W|\s)'或r'(\b' -
\s是\W的子集,看来您无论如何都在尝试重新发明\b。
标签: python regex python-2.7