【发布时间】:2015-01-08 16:20:25
【问题描述】:
为什么要模式
[A-Z][A-z]*
使用 NSRegularExpression 为法语单词 Vénus 返回 Ve。我想匹配骆驼单词,但是这个单词很奇怪
【问题讨论】:
-
提问前有没有搜索过答案? “当指定字符范围时,例如 [a-Z](即小写 a 到大写 z),计算机的区域设置通过字符编码的数字顺序确定内容。” - en.wikipedia.org/wiki/Regular_expression#Character_classes
-
@Onots:NSRegularExpression 不是这样。你引用的是POSIX正则表达式的行为,这里不适用。
-
@nhahtdh:感谢您指出这一点。所以我今天google了一下,学到了一些东西:NSRegularExpression使用了ICU指定的模式语法。来自 ICU 站点:“[A-M] 范围 - 匹配从 A 到 M 的任何字符。要包含的字符由 Unicode 代码点排序决定”。
-
但是为什么“[A-Z][A-z']*”适用于“Vénus”返回“Ve”,而不是“Vé”或“Venus”或“Vénus”使用 NSRegularExpression