例如:@"^\s*([a-zA-Z]*)\s*$"
,这是一个正则表达式,
现在我把这个表达翻译成中文:@"^\小號*([一-ž一-ž]*)\小號*$"
它会(总是)工作吗?
我对此表示高度怀疑。现在我不懂普通话、粤语或任何其他“中国”语言,所以我不知道这些“翻译”究竟是什么意思。但我很确定你不能只是将 ASCII 转义序列音译成中文字符。
\s
是空格的简写。我打赌\小號
不是。
[A-Z]
A
意思是“和之间的任何字符Z
。所以[一-ž]
如果 Unicode 代码点值一
确实低于 的值ž
,并且这些值实际上包含中文字母的范围,则可能会起作用。
也许不是,因为每种语言都有自己的语法和关键字,RegEx 也同样适用。
可能某些 RegEx 风格与另一种风格相比具有一些额外或更少的功能(例如,PCRE flavor
and.NET flavor
和模式(?<=\w+),
.PCRE engine
将无法匹配模式,但.NET engine
会匹配。)。但是,核心关键字和语法会如何变化?
此外,[a-z]
将仅匹配从代码点 97(dec) 到 122(dec) 范围内的类似英语的字母,并且如果匹配,它将包括代码点 65(dec) 到 90(dec) case-insensitive
。如果您使用\p{L}
(LETTER 类),它将匹配来自任何语言的任何字母。