ホームページ >バックエンド開発 >PHPチュートリアル >複数の行と一致するための PHP 正規表現分析

複数の行と一致するための PHP 正規表現分析

高洛峰
高洛峰オリジナル
2017-02-06 16:35:421427ブラウズ

PHP は複数行の正規表現解析に使用され、主に収集と置換に使用されます。

<table> 
<tr><td>aaaa</td></tr> 
<tr><td>bbbb</td></tr> 
<tr><td>cccc</td></tr> 
<tr><td>dddd</td></tr> 
</table>

PHP の正規表現を使用してこのようなテキストを照合するにはどうすればよいですか? ?
私の最初の考え:
パターン: "/

[.n]*?2221a6b3074aaacc98f2caaf1a3ef5db(.|n)*?fd273fcf5bcad3dfdad3c41bd81ad3e5」(これは可能です)
「[]」を「()」に置き換えて、「 |" or 選択を行う、それだけです (混乱しています。なぜ "[]" も選択方法にできないのですか??)
インターネット上には次のような答えもあります。
PATTEN: "/868c3f8d39a371013a78a87c30e1b0d8.*? fd273fcf5bcad3dfdad3c41bd81ad3e5/is" (非常に簡潔で便利です。この方法に同意します)

追記:なぜ "[]" も選択できないのですか? ? ?ご存知の場合は、忘れずに教えてください...

[] は . と同等です。通常の説明をよく読んでください

改行に関しては、通常、モード修飾子 s

s (PCRE_DOTALL) の使用を検討してください
この修飾子を設定すると、パターン内のドット メタ文字が改行を含むすべての文字に一致します。この修飾子がないと、ドットは改行に一致しません。

[] 試してみてください。 [.]*?fd273fcf5bcad3dfdad3c41bd81ad3e5/is" これはわかると思います
非常に強力な () もあります

複数の行に一致する PHP の正規表現解析に関するその他の記事については、PHP 中国語に注目してくださいネット!
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。