我有正则表达式
<?php
if(preg_match("/shop[0-9]/", '/shop43')){
echo "YES";
}
else
{
echo "NO";
}
?>
它正在工作,但是 当我写作
if(preg_match("/shop[0-9]/", '/shop43d')){
echo "YES";
}
它也在起作用。问题是我需要在单词“shop”之后使用ony数字 shop1,SHOP2,...,shop123 我的模式需要改变什么?) 如果有人能给我一些关于我的正则表达式问题的例子,我会非常感激。感谢你:)。
答案 0 :(得分:2)
请尝试使用此模式:
/^\/shop[0-9]+$/
您只需使用\d
代替[0-9]
:
/^\/shop\d+$/
解释:
由于/
用于指示表达式的开始/结束,您必须将其转义(不表示表达式的结尾) - &gt; \/
。
^
锚点匹配应用正则表达式模式的字符串的开头。
$
锚点匹配应用正则表达式模式的字符串末尾。
+
重复一次或多次上一项。
查看有关reg-exps here的更多信息。