用于匹配特定 HTML 实体模式(表情符号)的正则表达式



我正在这个正则表达式中工作以完全匹配以下模式。问题是,如果超过它,则不应考虑该模式:

我想要以 # 开头的正好 6 位数字,但如果我写{5}则返回 true。然后同样的情况发生在 ;我只想要一个,并在最后。另外,我不知道如何使用这里的$ 来指定最后一个字符。

 if(preg_match(('/^(#)+([0-9]{6}){1}(;)/'),"#128515;")){
     return true;
  }

应采用以下格式:

#128515; for #DDDDDD; not ##DDDD;; 

正好 6 位数字以 1 #开头,以 1 位;结束

当preg_match与给定的主题匹配时,它将返回 1,如果您有 6 位数字,则在没有结束分号时也可以匹配 5,因为没有设置结束边界。

您可以添加锚点^$来断言字符串的开头和结尾,使其与 6 位数字正好匹配。

从您的模式中,您可以省略{1}因为该组已经匹配了 1 次。如果您没有在代码中引用组,您也可以省略它们,而只匹配我们。

您可以使用:

^#[0-9]{6};$
  • ^ 字符串开头
  • #匹配 #
  • [0-9]{6};匹配 6 位数字
  • $ 断言字符串结尾

您的代码可能如下所示

if(preg_match(('/^#[0-9]{6};$/'),"#128515;")){
    return true;
}

最新更新