【问题标题】:How do I match accented characters in preg_match()?如何匹配 preg_match() 中的重音字符?
【发布时间】:2011-01-16 01:45:00
【问题描述】:

我读过how accented characters might sometimes match [a-z]。我想知道的是如何匹配特定的重音字符。显然,preg_match('/[ñ]/', 'ñ') 不起作用。

【问题讨论】:

    标签: php regex special-characters


    【解决方案1】:

    使用 /u 修饰符。这将为正则表达式启用 Unicode。 http://php.net/manual/en/reference.pcre.pattern.modifiers.php

    【讨论】:

    • 谢谢!这适用于我的 Ubuntu 工作站,但不幸的是,它不适用于我队友的 Windows XP 工作站。
    • 这可能是 PHP 与 Windows 不兼容,不确定。
    • 嗯。终于让它工作了。必须简化表达式以使用简写 \w 但使用 /u 修饰符:preg_match('/[\w]/iu', 'ñ'); 有效!
    【解决方案2】:

    您可以获取它们的代码并像 \xD0 一样匹配它们 - 如果重音符号不被接受,则为十六进制序列

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多