-4

私が文字列を持っているとしましょう:"Test [[1294]] example"

preg_replace()二重角かっこから数字を抽出する方法を教えてください。

その数を取得するための(貪欲な)表現は何ですか?-常に二重括弧内の整数になります。

4

2 に答える 2

2

preg_match()ではなく、を使用しますpreg_replace()

$subject = 'Test [[1294]] example';
preg_match('/\[\[(\d+)\]\]/', $subject, $match);
echo $match[1];
于 2012-12-03T19:13:04.203 に答える
2

チュートリアルを確認することをお勧めします。

数値を「抽出」したい場合は、 は必要ありませんpreg_replace。代わりにpreg_matchor preg_match_all(複数回出現する場合) を使用します。

preg_match('/\[\[(\d+)\]\]/', $input, $matches);
$integer = $matches[1];

また

preg_match_all('/\[\[(\d+)\]\]/', $input, $matches);
$integerArray = $matches[1];

preg_replace「抽出」の代わりに「この用語を使用して抽出された整数を使用するにはどうすればよいか」のような意味である場合は、同じ正規表現を使用して、次を使用してキャプチャされた整数を参照でき$1ます。

$output = preg_replace('/\[\[(\d+)\]\]/', 'Found this integer -> $1 <-', $input);

その結果、次のようになります。

Test Found this integer -> 1294 <- example
于 2012-12-03T19:13:28.967 に答える