假设我想匹配小写字母后跟大写字母,我可以做类似
的操作re.compile(r"[a-z][A-Z]")
现在我想对unicode字符串做同样的事情,即匹配'aÅ'或'yÜ'之类的东西。
尝试
re.compile(r"[a-z][A-Z]", re.UNICODE)
但这不起作用。
任何线索?
答案 0 :(得分:7)
这很难用Python正则表达式,因为当前的实现不支持\p{Lu}
和\p{Ll}
等Unicode属性快捷方式。
[A-Za-z]
当然只会匹配ASCII字母,无论是否设置了Unicode选项。
因此,在更新re
模块之前(或者安装当前正在开发的regex
package),您需要以编程方式执行此操作(遍历字符串并执行char.islower()
/ {字符上的{1}},或手动指定所有unicode代码点,这可能是不值得的...