首頁 >後端開發 >php教程 >如何使正規表示式中的點(.)符合換行符?

如何使正規表示式中的點(.)符合換行符?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-31 13:10:02524瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn