0

preg_matchキャッチするためにどのように作成できるか疑問に思っていました:

id=4

4上記の例を文字列で検索するにはどうすればよいですか?

これが正しいとすれば/^id=[0-9]/、私が質問している理由は、私が があまり得意ではないからですpreg_match

4

2 に答える 2

1

次のものを使用する必要があります。

/id=(\d+)/g

説明:

  • id=- リテラルid=
  • (\d+)-と0-9の間の文字範囲のグループをキャプチャします。- 無限回繰り返す09+
  • /g- 修飾子: グローバル。すべての試合 (最初の試合には戻らない)

オンラインの例

PHP ですべての ID とその値を取得する場合は、次のようにします。

$string = "There are three ids: id=10 and id=12 and id=100";
preg_match_all("/id=(\d+)/", $string, $matches);
print_r($matches);

出力:

Array
(
    [0] => Array
        (
            [0] => id=10
            [1] => id=12
            [2] => id=100
        )

    [1] => Array
        (
            [0] => 10
            [1] => 12
            [2] => 100
        )

)

オンラインの例

注:すべてに一致させたい場合は、/g修飾子を使用する必要があります。PHPはそれをサポートしていませんが、preg_match_all. g正規表現からを削除するだけです。

于 2013-10-31T09:38:03.217 に答える