regex - 带有法语字符的 NSRegularExpression

标签 regex nsregularexpression

为什么要使用模式

[A-Z][A-z]*

使用 NSRegularExpression 返回法语单词 VénusVe 。我想匹配 Camel 单词,但这个单词很奇怪

最佳答案

您的正则表达式匹配 Ve 而不是 的原因是 there are two ways to represent an é在统一码中:

  • 使用规范化的单个代码点 U+00E9
  • 使用“分解”形式:e,后跟组合标记 ´ (U+0065 U+0301)。请注意,后者不是实际的“独立”´ 字符 (U+00B4)。

您的字符串显然是使用第二个选项进行编码的。因此 [A-z] 仅匹配组合字符的前半部分。由于以下 ´ 不匹配,因此正则表达式在此时停止。您应该先规范化字符串,然后再对其应用正则表达式。

此外,请使用[A-Za-z]而不是[A-z]。否则,一些非字母字符如 ^] 也会被匹配。

关于regex - 带有法语字符的 NSRegularExpression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27832708/

相关文章:

python - 抓取电子邮件地址时无法删除不需要的东西

c++ - 在 C 或 C++ 中使用 GNU 正则表达式函数

swift - 验证比特币地址的正则表达式

ios - 检查字符串是否包含 Swift 中的特殊字符

ios - 如何使用 NSRegularExpression 或 Objective-C 中的任何其他有效方式检查 GUID(或 UUID)的有效性

PHP 使用 preg_match 或正则表达式作为 array_search 的值或 array_keys_exist 的键

javascript - 如何分割正则表达式空间和标点符号匹配,但将标点符号保留在结果数组中?

java - 从字符串集中推断正则表达式模式,我需要 java 中的算法来创建以下信息

ios - regularExpressionWithPattern 帮助。我找到了一个 how decipher 表达式

iphone - 如何更改 UITextview 文本中特殊字符的字体颜色