擅长:python、mysql、java
<p>由于Python不支持无界lookbehinds,因此我认为您必须使用与当前使用的类似的lookahead,但要稍微更改原始模式。你知道吗</p>
<pre><code>^(?!\bwith\b.*\baccessory\b)(?=.*\b(accessory)\b)
</code></pre>
<p>在这里,否定的向前看是用来确保“附件”不在单词“with”之后。然后,使用正向前瞻来确保单词“附件”出现在字符串中,如果出于某种原因需要捕获它,则使用组捕获。你知道吗</p>
<p>根据我上面写的方法,您应该使用<code>search</code>方法,而不是<code>match</code>方法。为了使用<code>match</code>(要求整个搜索字符串与模式匹配),您需要向模式中添加更多内容:</p>
<pre><code>^(?!\bwith\b.*\baccessory\b)(?=.*\b(accessory)\b).*$
</code></pre>