用于匹配特定 HTML 实体模式(表情符号)的正则表达式
RegEx for matching specific HTML Entity pattern (Emoji)
我正在使用此正则表达式来精确匹配以下模式。问题是,如果超出,则不应考虑该模式:
我想要以 # 开头的 6 位数字,但如果我写 {5} returns true。然后同样的事情发生在 ;我只想要一个并且在最后。另外,我不知道如何在这里使用 $ 来指定最后一个字符。
if(preg_match(('/^(#)+([0-9]{6}){1}(;)/'),"#128515;")){
return true;
}
应该采用这种格式:
#128515; for #DDDDDD; not ##DDDD;;
恰好 6 位数字以 1 #
开头并以 1 ;
结尾
preg_match 将 return 1 当它匹配给定的主题时,如果你有 6 位数字,当没有结束分号时它也可以匹配 5,因为没有结束边界集。
您可以添加锚 ^
和 $
来断言字符串的开头和结尾,以便它恰好匹配 6 位数字。
您可以从您的模式中省略 {1}
,因为该组已匹配 1 次。
如果您不引用代码中的组,您也可以省略它们,只匹配一个。
您可以使用:
^#[0-9]{6};$
^
字符串开头
#
匹配 #
[0-9]{6};
匹配6位数字
$
断言字符串结束
您的代码可能看起来像
if(preg_match(('/^#[0-9]{6};$/'),"#128515;")){
return true;
}
我正在使用此正则表达式来精确匹配以下模式。问题是,如果超出,则不应考虑该模式:
我想要以 # 开头的 6 位数字,但如果我写 {5} returns true。然后同样的事情发生在 ;我只想要一个并且在最后。另外,我不知道如何在这里使用 $ 来指定最后一个字符。
if(preg_match(('/^(#)+([0-9]{6}){1}(;)/'),"#128515;")){
return true;
}
应该采用这种格式:
#128515; for #DDDDDD; not ##DDDD;;
恰好 6 位数字以 1 #
开头并以 1 ;
preg_match 将 return 1 当它匹配给定的主题时,如果你有 6 位数字,当没有结束分号时它也可以匹配 5,因为没有结束边界集。
您可以添加锚 ^
和 $
来断言字符串的开头和结尾,以便它恰好匹配 6 位数字。
您可以从您的模式中省略 {1}
,因为该组已匹配 1 次。
如果您不引用代码中的组,您也可以省略它们,只匹配一个。
您可以使用:
^#[0-9]{6};$
^
字符串开头#
匹配 #[0-9]{6};
匹配6位数字$
断言字符串结束
您的代码可能看起来像
if(preg_match(('/^#[0-9]{6};$/'),"#128515;")){
return true;
}