我的RegEx很差,我一直在为此而挣扎。我有一些URL包含这样的模式:
/1234/
/5527191/
/15974/
等等。它总是一堆字母,然后是一个斜线,数字(不超过10个数字),然后是另一个斜线。
所以我在找一些RegEx,它会搜索,忽略字母,找到一组两个斜杠之间的数字。
谢谢你的帮助!
您可以将preg_match_all
(或preg_match
,如果您只想要第一个匹配)与以下正则表达式一起使用:
preg_match_all("#/'d{1,10}/#", $s, $matches);
解释
#
是正则表达式的分隔符/
与文字斜杠匹配'd
匹配任何数字{1,10}
在1到10次之间匹配先前的令牌
在线查看:ideone
如果你想捕捉没有斜线的数字,你可以使用一个捕捉组:
preg_match_all("#/('d{1,10})/#", $s, $matches);