2016-04-26 66 views
-1

我有一個HTML字符串:如何避免匹配太多?

<li>bmasdas asmdasmdamsd admasmams asmdamsdma asmdamsdasm </li> 
<li> asdmams sdasdasmdamsdma asdmsasdaddamsdasm </li> 
<li> dsadasdasdas TARGET dasdasdsa</li> 

我試圖捕捉包含單詞「TARGET」與此正則表達式<li>標籤:

<li.*?TARGET.*?\/li> 

雖然這確實抓住我想要的線,比賽從第一個<li>開始。我怎樣才能捕獲我想要的標籤?

+0

對不起,我的壞understanding..but你可以多一點精緻的 – rock321987

+0

**皮斯複製此:**

  • bmasdas asmdasmdamsd admasmams asmdamsdma asmdamsdasm
  • asdmams sdasdasmdamsdma asdmsasdaddamsdasm
  • dsadasdasdas TARGET dasdasdsa
  • **和使用正則表達式我,你會看到正則表達式匹配整個文本,但我只想匹配最後一個字符串(行)** – mssqlw

    +0

    請重新說明你的問題:「t工作正常,當你考慮正則表達式停止與最後'<\li>,不會繼續,但是我試圖找到一種不會去的方式,並在目標前用<'li>讀取所有其他行。「 – sweaver2112

    回答

    1

    您好像不瞭解.與任何字符匹配,包括<li中的字符。通過改變這一點,可以解析簡單的HTML。

    試試這個:<li[^<]*TARGET[^>]*\/li>

    不同的是,我用否定字符類,像[^>],以確保它不會趕上標籤。請注意,如果存在嵌套標記,則不使用正則表達式。

    +0

    傑作!非常感謝你。 – mssqlw