擅长:python、mysql、java
<p>也可以使用lookahead和lookahead表达式仅匹配3个字符的单词:</p>
<pre><code>import re
s = "ads1323z123123c123123890sdfakslk123klaad,313ks"
re.findall('(?<![a-zA-Z])[a-zA-Z]{1,3}(?![a-zA-Z])', s)
</code></pre>
<p>输出:</p>
<pre><code>['ads', 'z', 'c', 'ks']
</code></pre>
<p>正则表达式的工作原理如下:中间部分<code>[a-zA-Z]{1,3}</code>表示“匹配1到3个字母字符”。第一部分<code>(?<![a-z][A-Z])</code>是一个否定的lookback断言,断言3个字母字符前面没有字母字符。最后一部分<code>(?![a-zA-Z])</code>是一个否定的先行断言,断言3个字母字符后面没有字母字符。你知道吗</p>