gpt4 book ai didi

php - 恰好 10 个字符的 perl 正则表达式

转载 作者:可可西里 更新时间:2023-10-31 22:06:41 27 4
gpt4 key购买 nike

我在 PHP 中使用带有 preg_match 函数的 perl 风格的正则表达式。我想验证一个恰好 10 个字符的 key ,包含大写字母字符或数字。

我有

preg_match( '/[^A-Z0-9]/', $key);

它会在有效字符旁边找到无效字符。以我有限的知识,我试过了

preg_match( '/[^A-Z0-9]{10}$/', $key);

结果匹配所有我的测试字符串,甚至是无效的。

如何指定此正则表达式?

最佳答案

您放错了锚定字符串开头的 ^ 字符。 /[^A-Z0-9]{10}$/ 将匹配所有以 10 个非大写字母和数字的字符结尾的文件。

正确的 RE 应该是:

preg_match( '/^[A-Z0-9]{10}$/', $key);

正则表达式的解释:

  • ^ - 从字符串开头开始匹配
    • [ - 字符类的开始,字符应该与这些匹配。如果在 [ 之后发现 ^,则匹配无效
      • A-Z - 大写字母
      • 0-9 - 数字
    • ] - 字符类的结尾
    • {10} - 匹配前一个字符类 10 次
  • $ - 匹配字符串直到结束

关于php - 恰好 10 个字符的 perl 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6496872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com