Java正则表达式匹配<li>前面没有<br/>

asc*_*sco 1 java regex

标题说我想,我想匹配所有</li>标签没有进行<br/>,我的尝试是这样的:

^(?!<br\/>$).*$<li>
Run Code Online (Sandbox Code Playgroud)

但它不会起作用.任何提示?

Roh*_*ain 5

你不需要.*$介于两者之间.特别是锚正在冒险.实际上你在正则表达式中根本不需要锚点,除非你<br />在字符串的开头测试.

你正在测试<li>而不是</li>.

也是(?!...)负面预测.对于后视,你应该使用:(?<!...)

尝试使用此正则表达式:

"(?<!<br/>)</li>"   // You don't need to escape `/`
Run Code Online (Sandbox Code Playgroud)

请注意,对于更复杂的HTML解析案例,您应该避免使用Regex.请改用HTML解析器.对于Java,你可以看看 - JSoup