匹配任何 unicode 字母吗?
在.net中你可以使用\p{L}
来匹配任何字母,我如何在Python中做同样的事情?也就是说,我想匹配任何大写、小写和重音字母。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在.net中你可以使用\p{L}
来匹配任何字母,我如何在Python中做同样的事情?也就是说,我想匹配任何大写、小写和重音字母。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
Python 的
re
模块尚不支持 Unicode 属性。但是您可以使用re.UNICODE
标志编译正则表达式,然后字符类简写\w
也将匹配 Unicode 字母。由于
\w
也会匹配数字,因此您需要从字符类中减去这些数字以及下划线:将匹配任何 Unicode 字母。
Python's
re
module doesn't support Unicode properties yet. But you can compile your regex using there.UNICODE
flag, and then the character class shorthand\w
will match Unicode letters, too.Since
\w
will also match digits, you need to then subtract those from your character class, along with the underscore:will match any Unicode letter.
PyPi 正则表达式模块 支持
\p{L}
Unicode 属性类,以及许多更多信息,请参阅文档中的“Unicode 代码点属性,包括脚本和块”部分以及 http://www.unicode.org/Public/UNIDATA/PropList.txt。使用 regex 模块很方便,因为您可以在任何 Python 版本中获得一致的结果(请注意,Unicode 标准在不断发展,支持的字母数量也在增长)。使用
pip install regex
(或pip3 install regex
)安装库并使用请参阅下面的一些用法示例:
请参阅 Python 在线演示
PyPi regex module supports
\p{L}
Unicode property class, and many more, see "Unicode codepoint properties, including scripts and blocks" section in the documentation and full list at http://www.unicode.org/Public/UNIDATA/PropList.txt. Usingregex
module is convenient because you get consistent results across any Python version (mind that the Unicode standard is constantly evolving and the number of supported letters grows).Install the library using
pip install regex
(orpip3 install regex
) and useSee some usage examples below:
See a Python demo online