簡體   English   中英

匹配除 html 標簽內容以外的所有文本

[英]Match all the text but html tag content

我想在下面的示例中匹配 html 標簽 div 之外的文本 我應該使用什么正則表達式模式? 謝謝!

 Match me 1 <div>Hello World.</div> Match me 2.

更新:這是一個格式不正確的自由文本 HTML 但它里面有自定義/HTML 標簽,我需要提取不在標簽內的文本以進行進一步處理......

嘗試使用這種模式:

(^([\s\S]*?)(?=<div>))|(((?<=<\/div>))([\s\S]*?)(?=<div>))|((?<=<\/div>)[\s\S]*)

怎么運行的

^匹配字符串的開頭

\s匹配任何空白字符(空格、制表符、換行符)

\S匹配任何不是空白字符的字符(空格、制表符、換行符)

*匹配任何東西, ? 非貪婪(匹配所需的最少字符數)

| 用於組合一個或多個模式

()表達式將作為一個組進行匹配

(?=<div>)這是一個組構造,在進行任何匹配之前需要轉義<div>

為什么需要? 這里?

Match me1 <div><div>Hello World!</div> Match me 2 <div>Hello World!</div> Match me 3.

默認情況下,正則表達式是貪婪的,這意味着它將盡可能匹配。 因此,如果您使用上述模式,它將 select 所有文本直到第三個<div>但通過添加非貪婪量詞? 使正則表達式只有 select 所有文本直到第一個<div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM