preg_match
キャッチするためにどのように作成できるか疑問に思っていました:
id=4
4
上記の例を文字列で検索するにはどうすればよいですか?
これが正しいとすれば/^id=[0-9]/
、私が質問している理由は、私が があまり得意ではないからですpreg_match
。
preg_match
キャッチするためにどのように作成できるか疑問に思っていました:
id=4
4
上記の例を文字列で検索するにはどうすればよいですか?
これが正しいとすれば/^id=[0-9]/
、私が質問している理由は、私が があまり得意ではないからですpreg_match
。
次のものを使用する必要があります。
/id=(\d+)/g
id=
- リテラルid=
(\d+)
-と0-9
の間の文字範囲のグループをキャプチャします。- 無限回繰り返す0
9
+
/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
正規表現からを削除するだけです。