PHP RegEx字符串包含两个以上的数字,它们相邻并用斜杠括起来


PHP RegEx string contains more than two numbers next to each other enclosed with slashes

我的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);