PHP中的正则布尔函数

PHP中的正则布尔函数,php,regex,Php,Regex,我有一个字符串,我想测试它是否符合以下格式 exactly seven alphabetical OR numerical characters, followed by a '_', followed by exactly five alphabetical OR numerical characters, followed by a '_', followed by exactly seven alphabetical OR numerical characters, followed

我有一个字符串,我想测试它是否符合以下格式

exactly seven alphabetical OR numerical characters, followed by a '_', followed by 
exactly five alphabetical OR numerical characters, followed by a '_', followed by 
exactly seven alphabetical OR numerical characters, followed by a '_', followed by 
exactly nine alphabetical OR numerical characters. 
No other characters should exist other then the above mentioned characters.
我想要一个函数,如果与描述匹配,则返回true;如果不匹配,则返回false


编辑:字母和数字字符可以混合使用。

与此匹配的正则表达式为:

^[a-zA-Z0-9]{7}_[a-zA-Z0-9]{5}_[a-zA-Z0-9]{7}_[a-zA-Z0-9]{9}$
语法的简要概述:

  • ^
    只匹配字符串的开头<代码>$仅与结尾匹配
  • [
    ]
    表示要匹配的字符。它们可以包括像
    0-9
    这样的范围
  • {
    }
    表示前一件事重复特定次数

    • 通过
      {}
      可以指定字符可以重复多少次

      []
      允许您列出可能的字符,其中
      -
      指定字符范围

      末尾的
      i
      标志使其不区分大小写
      ^
      标记字符串的开始,
      $
      标记字符串的结束。这些可以防止任何东西在比赛的前面和后面

      preg_match('/^[a-z0-9]{7}_[a-z0-9]{5}_[a-z0-9]{7}_[a-z0-9]{9}$/i', $str);
      

      你试过什么?它起作用了吗?若否,原因为何-1因为没有发布初始尝试和“过于本地化”,因为它确实是:-)