我需要找到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'ф_')