Python中针对非英语语言的正则表达式匹配

3

我正在尝试在Python脚本中捕获和匹配俄语字符。由于俄语字符不属于[a-Z]类型,所以我应该使用什么正则表达式来匹配它们。我不能使用(.*),因为它会匹配一切。

linkpat = re.compile('name=[a-Z]+;size=[0-9]+')

3
顺便说一下,[a-Z] 不是一个有效的范围。 - Tim Pietzcker
@Tim Yea。我没有逐字复制代码。实际的正则表达式要复杂一些。 - Neo
3个回答

5

使用Unicode标志:

re.compile('name=\w+;size=\d+', re.U)

这也会匹配任何语言中的字母(加上下划线),而不仅仅是俄语。


1
是的,这对我来说可以。而且你的解决方案更好,因为在某个阶段我可能也会遇到一些未知的语言。 - Neo

1

您可以尝试使用正确的LOCALE\w


0
使用字符类,这些类是与语言环境相关的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接