簡體   English   中英

匹配模式是上一場比賽的一部分

[英]Matching pattern that is part of a previous match

我正在嘗試構造一個匹配不正確放置的li標簽的表達式。 在大多數情況下,它運行良好,除了以下事實:我需要匹配的事件之一是先前匹配項的一部分。

這是我的表情:

/(<li>.*?)(<\/li>)(.*?)(<br><(li|\/ul)>)/gi

我嘗試匹配的文本如下:

<ul><br><li> text before invalid closing tag</li> remaining text<br><li> this should also be matched</li> but isn't<br><li> text before invalid closing tag</li> remaining text<br></ul><br>

這里應該有3場比賽,但我只有2場。 您可以在下面的鏈接上對此進行測試,但中間部分不匹配。 我不確定正確的方法來匹配先前匹配的文本。

http://regexr.com/3cp2v

實際上,我可以通過將模式匹配到下一個打開的li或關閉的ul標簽來找到解決方案。 這樣可以避免比賽重疊,並按需要對結果進行分組。

/(<li>.*?)(<\/li>)(.*?)<br>(?=<(li|\/ul)>)/gi

暫無
暫無

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

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