我的RegEx很差,我一直在努力解决这个问题。我有一些包含这样的模式的URL:
/1234/
/5527191/
/15974/
等等。它总是一堆字母,然后是斜线,数字(不超过10个数字),然后是另一个斜线。
所以我在一些RegEx之后会搜索,忽略字母并找到一组数字两个斜线。
感谢您的帮助!
答案 0 :(得分:1)
您可以使用preg_match_all
(或preg_match
,如果您只想要第一个匹配项)使用以下正则表达式:
preg_match_all("#/\d{1,10}/#", $s, $matches);
<强>解释强>
#
是正则表达式的delimiter。/
匹配文字斜杠。\d
匹配任何数字。{1,10}
与之前的令牌匹配1至10次。查看在线工作:ideone
如果你想在没有斜线的情况下捕获数字,你可以使用捕获组:
preg_match_all("#/(\d{1,10})/#", $s, $matches);