[英]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.