擅长:python、mysql、java
<p>您可以使用backreference <code>\1 - \9</code>来捕获先前匹配的第1到第9组。你知道吗</p>
<pre><code>/([a-c])(\1+)/
[a-c]: Matches one of the character.
\1+ : Matches subsequent one or more previously matched character.
</code></pre>
<p>Perl语言:</p>
<pre><code>perl -e '@m = "ccccbbb" =~ /([a-c])(\1+)/; print $m[0], $m[1]'
cccc
</code></pre>
<p>Python:</p>
<pre><code>>>> import re
>>> [m.group(0) for m in re.finditer(r"([a-c])\1+", 'aafaabbybcccc')]
['aa', 'aa', 'bb', 'cccc']
</code></pre>