我需要在 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']
我需要从正则表达式中排除下划线 _,因此找不到a_ AND _r 。问题是,我的角色可以是任何语言。所以我不能像这样使用正则表达式:[^a-zA-Z]。例如,在俄语中:
print pattern.findall(u'ф_')