2017-07-07 24 views
-1

は、私が実際に可変の長さ(この場合1 2 3) foo3bar、各FOO間のテキストをfoo1bar、foo2はをキャプチャするために正規表現だろう何正規表現の最小一致を見つけるには?

「foo1barfoo2foo3bar」の文字列を持っていると言います。

私がいる問題は、私の現在の正規表現がfoo1barをキャプチャし、

私は非欲張り数量詞を追加すると、それだけでPHPを使用してfoo1のfoo2はfoo3

をキャプチャしfoo2foo3barということですところで

+0

あなたの正規表現は何ですか? – revo

答えて

0

あなたは可能性があり

preg_match_all("/foo((?!foo).)*/s", "foo1barfoo2foo3bar", $result); 

$result[0] 3 MATCを持つ配列になります。次の「foo」がするまで一致する負の先読みを使用hes(追加[0]に注意してください)。

["foo1bar", "foo2", "foo3bar"] 

s修飾子は、改行をキャプチャする場合にのみ必要です。

関連する問題