擅长:python、mysql、java
<p>正则表达式没有将<code>[</code>作为文本处理。。它们被视为特殊字符(字符集)</p>
<p>您可以使用以下选项:</p>
<pre><code>[:?]\s*\[\w+(\s*,\s*)?\w+\]
</code></pre>
<p>说明:</p>
<ul>
<li><code>[:?]</code>第一个字符可以是“:”或“?”你知道吗</li>
<li><code>\s*\[</code>然后是一个空格,然后是方括号</li>
<li><code>\w+(\s*,\s*)?\w+</code>方括号内有两个文本块,用逗号和/或空格隔开(可选逗号和空格)</li>
<li><code>\]</code>右括号</li>
</ul>
<p>见<a href="https://regex101.com/r/fD6tO4/2" rel="nofollow">DEMO</a></p>
<p><strong>编辑:</strong>如果要捕获匹配,可以使用:</p>
<pre><code>([:?]\s*\[\w+(?:\s*,\s*)?\w+\])
</code></pre>