擅长:python、mysql、java
<p>下面是“word”的一个可能的定义:一个非空格字符的字符串。还有一个:一串字母和数字,但没有标点符号。Python为两者提供了方便的快捷方式。在</p>
<p><code>\w</code>是具有第二个含义的任何“单词”字符(字母和数字),而<code>\W</code>是任何<em>其他</em>字符。这样使用:</p>
<pre><code>m = re.search(r'((\w+\W+){0,4}grab(\W+\w+){0,4})', sentence)
print m.groups()[0]
</code></pre>
<p>如果您喜欢第一个定义,只需使用<code>\S</code>(任何不是空格的字符)和<code>\s</code>(任何空格字符):</p>
^{pr2}$
<p>你会注意到我在前后匹配了0到4个单词。这样,如果你的单词在句子中是第三个,你仍然可以得到一个匹配。(搜索是“贪婪的”,所以如果可能的话,你总能得到4个)。在</p>