Python 正则表达式大写 unicode 字

标签 python regex

我需要查找多种语言的缩写文本。当前 regex是:

import regex as re
pattern = re.compile('(?:[\w]\.)+', re.UNICODE | re.MULTILINE | re.DOTALL | re.VERSION1)
pattern.findall("U.S.A. u.s.a.")

我不需要结果中的 u.s.a,我只需要大写文本。 [A-Z] 不适用于英语以外的任何语言。

最佳答案

您需要使用 Unicode 字符属性才能匹配它们。 re 不支持字符属性,但是regex

>>> regex.findall(ur'\p{Lu}', u'ÜìÑ')
[u'\xdc', u'\xd1']

关于Python 正则表达式大写 unicode 字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593509/

相关文章:

java - Java 中匹配映射键

javascript - 为什么 Regex.toString() 不等于 javascript 中的字符串文字

python - 如何检查 numpy/pandas 对象,即 R 中的 str()

python - 匹配键值对

python - 在 Spark 数据框列中获取最大值的最佳方法

regex - Powershell - 拆分字符串

Python 2.7.x 压缩文件 : slow unzip from network drive (Windows)

python - 如何处理空字典值

python - 使用 re.search 的开始/结束参数时,正则表达式中 $ 和 ^ 之间的不一致?

c# - 由多个正则表达式值预测的异议创建