正規表現の難問

WBOY
リリース: 2016-06-23 14:02:12
オリジナル
1111 人が閲覧しました

<?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);

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

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

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

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート