我需要找到 UNICODE 中的所有双字符符号,下划线除外。当前的解决方案是:
pattern = re.compile(ur'(?:\s*)(\w{2})(?:\s*)', re.UNICODE | re.MULTILINE | re.DOTALL)
print pattern.findall('a b c ab cd vs sd a a_ _r')
['ab', 'cd', 'vs', 'sd', 'a_', '_r']
我需要从正则表达式中排除下划线 _,因此找不到 a_ 和 _r。问题是,我的角色可以使用任何语言。所以我不能像这样使用正则表达式:[^a-zA-Z]。例如,在俄语中:
print pattern.findall(u'ф_')
最佳答案
排除任何非单词字符 AND _
[^\W_]
代替
\w
关于Python 正则表达式排除下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12589791/