擅长:python、mysql、java
<p>虽然不漂亮,但这会让你随心所欲:</p>
<pre><code>(?<!")(?:\(|\b)[^"\n]+\/[^"\n]+(?:\)|\b)(?!")
</code></pre>
<p><a href="https://regex101.com/r/2fDT9w/1" rel="noreferrer">Demo on Regex101</a></p>
<p>让我们把它分解一下:</p>
<ul>
<li>^{s}前面有一个开方括号}或者不匹配一个开方括号。它通过使用<a href="http://www.regular-expressions.info/lookaround.html" rel="noreferrer">negative lookbehind</a>来实现这一点。在</li>
<li><code>[^"\n]+</code>将匹配一个或多个字符,只要它们不是引号或换行符(<code>\n</code>)。在</li>
<li><code>\/</code>将匹配文本斜杠字符。在</li>
<li>最后,<code>(?:\)|\b)(?!")</code>将匹配右括号或单词边界,只要它后面没有引号。它通过使用<a href="http://www.regular-expressions.info/lookaround.html" rel="noreferrer">negative lookahead</a>来实现这一点。请注意,<code>(?:\)|\b)</code>只能按此顺序100%正确工作-如果您反转它们,它将删除括号中的匹配项,因为它在到达括号之前遇到了一个单词边界。在</li>
</ul>