我想构建一个正则表达式,能够从字符串中提取所有类似Stackoverflow的标记。也有一些是错误的我正则表达式,我无法找到是什么:在我的正则表达式中找不到错误
s = 'call,me r c++ c# 132(list) 2345sdf;sdf_sfg? "adf-sdf aso.net?'
re.findall(r"[^,\s;\"\(\)]*[a-zA-Z0-9_\+\-\.#]*[a-zA-Z0-9_\+\-#]", s.lower())
我越来越
['call',
'r',
'c++',
'c#',
'132',
'list',
'2345sdf',
'sdf_sfg',
'adf-sdf',
'aso.net']
所以当你看到逗号后失踪“我”。我也乐于改进我的正则表达式。
编辑:我想匹配的模式是有效的SO标签,即集[a-zA-Z0-9 _ + - 。#]中的所有字符。我的其他表达方式是排除句子末尾的小点,并采取一些解决方法来消除逗号。
你想匹配什么样的模式? – thefourtheye
@thefourtheye编辑了这个问题。 – elyase
我运行了你的例子,它在我的python 2.7.3 Win 7上很好。确保你的Python是最新的。也适用于嵌入不可见字符或字符串编码问题等奇怪的事情。 – Gene