【问题标题】:How to exclude special characters in a regular expression [duplicate]如何排除正则表达式中的特殊字符[重复]
【发布时间】:2011-12-28 09:04:11
【问题描述】:

可能重复:
PHP - regex to allow letters and numbers only

我需要一个匹配 a-zA-Z0-9 字符串的正则表达式。 不是 á、à、ð、ð、ü、ĉ 等。 我怎样才能做到这一点?

【问题讨论】:

标签: php regex string special-characters


【解决方案1】:

试试那个例子:

^[a-zA-Z0-9]*$

【讨论】:

  • 由于某种原因仍然匹配 á, é, ù,... :S
  • @John:setlocale(LC_ALL, 'C'); 修复了吗?
  • @JohnDoe:不适合我:ideone.com/Lpeeh
  • @icktoofay 不知何故成功了。谢谢:)
  • @icktoofay:你能解释一下这里发生了什么吗?我很震惊 PHP 会忽略一个明确定义的字符范围。这是默认行为吗?
【解决方案2】:

使用字符类匹配单个字符:

[a-zA-Z0-9]

酌情应用量词(*、+ 等)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多