我有一个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 :(得分:1)
您似乎不理解.
匹配任何字符,包括<li
中的字符。通过更改它,可以解析简单的HTML。
试试这个:<li[^<]*TARGET[^>]*\/li>
不同之处在于我使用了否定的char类,如[^>]
,以确保它不会捕获标记。请注意,如果存在嵌套标记,则regex不是使用的工具。