ホームページ  >  記事  >  バックエンド開発  >  ドット (.) を正規表現の改行と一致させるにはどうすればよいですか?

ドット (.) を正規表現の改行と一致させるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-31 13:10:02411ブラウズ

How to Make the Dot (.) Match Newlines in Regular Expressions?

正規表現を使用して改行文字にドットを一致させる

正規表現では、ドット (.) は改行を除く任意の文字に一致します。ただし、改行も一致させたい場合があります。

これを実現するには、DOTALL 修飾子 (/s) を使用できます。これにより、ドットは改行を含むすべての文字と一致します。

たとえば、次の正規表現は改行と一致しません:

/<div>(.*)</div>/

改行と一致させるには、DOTALL 修飾子を追加します。

/<div>(.*)</div>/s

ただし、欲張らない一致を求める場合、これは理想的ではない可能性があります。代わりに、非貪欲一致を使用できます。

/<div>(.*?)</div>/s

または、他のタグがない場合は、「<」を除くすべてに一致させることもできます。文字:

/<div>([^<]*)</div>/

正規表現の区切り文字として必ずしも「/」を使用する必要がないことにも注意してください。別の文字を使用すると、

内のスラッシュをエスケープする必要がなくなり、読みやすくなります。たとえば、区切り文字として「#」を使用した場合、前の正規表現は次のようになります。

#<div>([^<]*)</div>#

ただし、これらのソリューションは、ネストされた div、余分な空白、 HTML コメントとその他の複雑さ。 HTML は非常に複雑なので、多くの場合、このようなタスクには HTML パーサーを使用する方が適しています。

以上がドット (.) を正規表現の改行と一致させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。