擅长:python、mysql、java
<p>好吧,我想一张照片胜过1000个字:</p>
<p><img src="https://www.debuggex.com/i/W-tzjH8vg9yj76dz.png" alt="Regular expression visualization"/></p>
<p><a href="https://www.debuggex.com/r/W-tzjH8vg9yj76dz" rel="nofollow">link to the demo</a></p>
<p>所发生的事情是,正如您在自动机的可视表示上所看到的,regexp在一个字符上分组一次或多次,直到它到达匹配的结尾。最后一个角色进入组。你知道吗</p>
<p>如果你想得到你所说的结果,你需要做如下的事情:</p>
<pre><code>([abc])([abc])([abc])
</code></pre>
<p><img src="https://www.debuggex.com/i/Svp8-XDaILOXCHwc.png" alt="Regular expression visualization"/></p>
<p>它将在每个位置匹配和分组一个字符。你知道吗</p>
<p>关于文档,我建议您阅读NFA的第一个理论和regexp。麻省理工学院关于这个主题的文档非常好:</p>
<ul>
<li><a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-045j-automata-computability-and-complexity-spring-2011/lecture-notes/" rel="nofollow">http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-045j-automata-computability-and-complexity-spring-2011/lecture-notes/</a></li>
</ul>