擅长:python、mysql、java
<p>了解回溯</p>
<ul>
<li><code>".*?"</code>匹配next <code>"</code>和<code>"</code>之间的最短子序列</li>
<li><code>".*?"\.</code>匹配next <code>"</code>和<code>".</code>之间的最短子序列</li>
</ul>
<p>所以<code>".*?"\.</code>匹配<code>"#Opportunities" USING "SalesVelocity".</code>,因为在<code>"\.</code>匹配失败后,它会回溯到<code>.*</code></p>
<p>消极的前瞻更具表现力,因为它精确地指定了不需要的标记</p>
<pre><code>"(?:(?!").)*"\.".*?"
</code></pre>
<p>另一个解决方法是在“.*?”周围使用原子群你知道吗</p>
<pre><code>"(?>.*?")\.".*?"
</code></pre>
<p>但在您的例子中,使用负字符更有效:<code>[^"]*</code>,因为它避免了回溯。你知道吗</p>