正規表現の難問

WBOY
WBOYオリジナル
2016-06-23 14:02:121099ブラウズ

<?php$a="a11ba12b";preg_match_all("/(a[^b]+b){2}/is",$a,$tmp);var_dump($tmp);?>


結果は

array(2) {  [0]=>  array(1) {    [0]=>    string(8) "a11ba12b"  }  [1]=>  array(1) {    [0]=>    string(4) "a12b"  }}



さて、私が聞きたいのは、{} 括弧表記の使い方ですが、[1] = a11b で、[1] = a12b ではありません、


返信議論へ (解決策)

G?

    $a="a11ba11b";    preg_match_all("/\G(a[^b]+b){2}/i",$a,$tmp);    var_dump($tmp);

..baoqian
それは間違っているようです

貪欲モードを指定する方が良いです
preg_match_all("/(a[^b]+b)+/iU" ,$ a,$tmp);

専門家の答えを待ちます。

私は歯列矯正を勉強しているだけです、笑

こんな感じで何をするつもりですか?ルールはルール
{ 最小/最大数量制限開始
} 最小/最大数量制限終了

ルールは時に理不尽でも、あなたのせいで変わることはありません

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。