1

私の正規表現は貧弱で、これに苦労しています。次のようなパターンを含む URL がいくつかあります。

/1234/
/5527191/
/15974/

等々。常に一連の文字、次にスラッシュ、数字 (最大 10 個の数字)、そして別のスラッシュです。

だから私は検索し、文字を無視し、2 つのスラッシュの間の数字のグループを見つけるいくつかの RegEx を求めています。

助けてくれてありがとう!

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 に答える