と2行目のみを取得します:!^>{1} (.*)$!m
をしかし、私はここでしか二行目を一致させたい:私はこの正規表現を持っている正規表現
>> text1
> text2
> text3
が、3行目もあるためm
のここに一致しています。フラグm
を削除すると、行の先頭ではなく文字列の先頭だけが表示されます。 $
は何もしないようです。
は、以下を参照してください。これは動作しますhttps://regex101.com/r/AKYO1f/1
と2行目のみを取得します:!^>{1} (.*)$!m
をしかし、私はここでしか二行目を一致させたい:私はこの正規表現を持っている正規表現
>> text1
> text2
> text3
が、3行目もあるためm
のここに一致しています。フラグm
を削除すると、行の先頭ではなく文字列の先頭だけが表示されます。 $
は何もしないようです。
は、以下を参照してください。これは動作しますhttps://regex101.com/r/AKYO1f/1
の答えからこれを得た配列の内側に一致(ES)で充填しますg
フラグを削除します。これは、すべてのマッチを見つける代わりに、最初のマッチの後にそれを返すでしょう。
理由のちょうど説明:あなたは複数行フラグ^
と&
試合にLINEの開始と終了を持っていますが、複数行フラグに^
を削除し、&
全体として文字列の先頭と末尾に一致します。
は、私はあなたがするpreg_match()
するpreg_match()のパターンがマッチした回数を返しますを使用することができると思います。これはpreg_match()が最初のマッチ後に検索を停止するため、0回(一致しない)または1回のいずれかになります。 preg_match_all()は、それがsubjectの終わりに達するまで続けます。 preg_match()はエラーが発生した場合にFALSEを返します。
するpreg_match第3引数()は、与えられた場合、@Shafizadehはちょうど、前記のよう
「g」フラグを削除するだけです。https://regex101.com/r/AKYO1f/2 – Shafizadeh