我需要在UNICODE中找到所有两个字符sumbols,除了下划线。当前溶质为:
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']
我需要从regex中排除下划线,因此找不到a_和\u r。问题是,我的角色可以用任何语言。所以我不能像这样使用regex:[^a-zA-Z]。例如,俄语:
print pattern.findall(u'ф_')
排除任何非单词字符和
而不是
这似乎对我有用:
你最好用新的^{} module 代替。它的一个特点是可以从字符集中删除个字符:
[\w--_]
语法创建与\w
相同的字符集,并从匹配字符中删除下划线字符。相关问题 更多 >
编程相关推荐