怠け者向けの正規表現リンク: http://regexr.com?33udv
テスト文字列:
<li><a href="#"><strong>Start</strong></a></li><li><a href="#">End</a></li>
「スタート」で検索した時に合わせたい
<li><a href="#"><strong>Start</strong></a></li>
私のパターンはこれです:
<li>(?!<li>)*Start.*?</li>
私の問題は、「開始」を含むものだけを一致させたい場合に、両方のリストの子を一致させることです。
注: これは非常に予測可能な html 文字列であり、常に同じように見えます。正規表現がhtmlを解析すべきではないことは知っていますが、問題は否定先読みの理解に関するものです。
解決:
<li>((?!<li>).)*Start.*?</li>