1

我的正则表达式很差,我一直在为此苦苦挣扎。我有一些 URL 包含这样的模式:

/1234/
/5527191/
/15974/

等等。它总是一堆字母,然后是斜线、数字(不超过 10 个数字),然后是另一个斜线。

所以我在寻找一些正则表达式,它会搜索、忽略字母并在两个斜杠之间找到一组数字。

谢谢您的帮助!

4

1 回答 1

1

您可以将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);
于 2012-07-14T21:37:01.123 回答