3

例如:@"^\s*([a-zA-Z]*)\s*$",这是一个正则表达式,

现在我把这个表达翻译成中文:@"^\小號*([一-ž一-ž]*)\小號*$"

它会(总是)工作吗?

4

2 回答 2

2

我对此表示高度怀疑。现在我不懂普通话、粤语或任何其他“中国”语言,所以我不知道这些“翻译”究竟是什么意思。但我很确定你不能只是将 ASCII 转义序列音译成中文字符。

\s是空格的简写。我打赌\小號不是。

[A-Z]A意思是“和之间的任何字符Z。所以[一-ž]如果 Unicode 代码点值确实低于 的值ž,并且这些值实际上包含中文字母的范围,则可能会起作用。

于 2012-05-03T07:28:28.757 回答
1

也许不是,因为每种语言都有自己的语法和关键字,RegEx 也同样适用。

可能某些 RegEx 风格与另一种风格相比具有一些额外或更少的功能(例如,PCRE flavorand.NET flavor和模式(?<=\w+),.PCRE engine将无法匹配模式,但.NET engine会匹配。)。但是,核心关键字和语法会如何变化?

此外,[a-z]将仅匹配从代码点 97(dec) 到 122(dec) 范围内的类似英语的字母,并且如果匹配,它将包括代码点 65(dec) 到 90(dec) case-insensitive。如果您使用\p{L}(LETTER 类),它将匹配来自任何语言的任何字母。

于 2012-05-03T08:01:49.697 回答