2009-05-22 357 views

回答

6

使用西班牙语区域设置,使您的正则表达式区分大小写。

1

你的正则表达式系统应该有一些等同于Python的re.L(又名re.LOCALE)做一个正则表达式语言环境相关的,所以什么是文字字符,什么是不与区域的变化,因为这样做“字边界”等。你是否要求一种方式来补偿一些给定的正则表达式系统而不是支持区域设置,试图强制这个问题......?

1

这很大程度上取决于您正在使用的语言(和正则表达式引擎)。

在Perl中,\w匹配所有单词字符,不管语言或字母表如何,类似于/\b(\w+)\b/的内容可能(可能)匹配西班牙语单词以及英语单词或俄语单词。

在使用PCRE的语言中,\w(因此可能是\b)不匹配Unicode字符。你可能需要建立你自己的设置。我建议像[\wáéíóúñ]这样的东西(匹配所有的单词字符,加上你想要的重音字符),并且在甚至可以工作之前,PCRE库必须用Unicode支持预先构建。

如果您使用别的东西,祝您好运。一些正则表达式引擎甚至不支持Unicode。