擅长:python、mysql、java
<p>您很接近,但它仍然匹配,因为它可以找到满足<code>.*</code>的字符串,而不必在前面加<code>Step Dialog</code>。正面和负面的断言只会影响它们周围的模式。因此,您必须强制它检查您不想匹配的每个字符<code>Step Dialog</code>。在</p>
<p>试试这个:</p>
<pre><code>`^(?:(?!Step Dialog).)*[Bb]uild [Vv]ersion:*\s*(?!.*<)'?([^']*)'`
</code></pre>
<p>现在,它确保<code>^</code>(行首)和<code>[Bb]uild [Vv]ersion</code>之间的每个字符都是<strong>而不是</strong>字符串<code>Step Dialog</code>。在</p>
<p>你会注意到我也把它改成了积极的展望,因为它更容易理解发生了什么。在</p>