擅长:python、mysql、java
<p>您应该捕获初始引号(如果有的话),然后稍后使用backreference来确保如果匹配了第一个<code>'"</code>,那么在匹配的末尾<code>#</code>之前需要<code>'"</code>:</p>
<pre><code>([\"']?)(.*?)\1\s*(#.*)
</code></pre>
<p><a href="https://regex101.com/r/Rpb5wL/1" rel="nofollow noreferrer">https://regex101.com/r/Rpb5wL/1</a></p>
<p>(请注意,由于现在捕获了初始引号,因此您必须更改使用结果组的代码来说明这一点—例如,<code>#</code>部分现在将位于第3组,而不是第2组)</p>