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

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

高洛峰
リリース: 2023-03-05 13:18:01
オリジナル
1374 人が閲覧しました

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]*?" (これは間違っています)
アイデア: "." は改行以外の文字に一致します。"[ .n" を使用します]」をすべての文字 (改行を含む) と一致するように組み合わせましたが、予期せぬ状況が発生しました - 悲劇、結果は何もありませんでした。
いろいろ調べた結果、別のパターンを書きました:「/(.|n)*?」(これは可能です)
「[]」を「()」に置き換えて、「 |" or 選択を行う、それだけです (混乱しています。なぜ "[]" も選択方法にできないのですか??)
インターネット上には次のような答えもあります。
PATTEN: "/< tr>.*? /is" (非常に簡潔で便利です。この方法に同意します)

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

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

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

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

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

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