擅长:python、mysql、java
<p>除了零长度断言外,输入中的字符将始终在匹配中使用。如果您希望在输入字符串中多次捕获某个字符,则需要在regex中使用零长度断言。</p>
<p>有几种零长度断言(例如<code>^</code>(输入/行的开始)、<code>$</code>(输入/行的结束)、<code>\b</code>(单词边界)),但是环视(<code>(?<=)</code>正向后视和<code>(?=)</code>正向前视)是从输入捕获重叠文本的唯一方法。负环视(<code>(?<!)</code>负环视后面,<code>(?!)</code>负环视前面)在这里不是很有用:如果它们断言为true,则内部捕获失败;如果它们断言为false,则匹配失败。这些断言的长度为零(如前所述),这意味着它们将在不使用输入字符串中的字符的情况下进行断言。如果断言通过,它们实际上将匹配空字符串。</p>
<p>应用上述知识,一个适用于您的案例的regex将是:</p>
<pre><code>(?=(\w\w))
</code></pre>