擅长:python、mysql、java
<p>我喜欢regex高尔夫</p>
<pre class="lang-py prettyprint-override"><code>words = """hello my name is 'joe.' what's your's"""
splitted = re.findall(r"\b(?:\w'\w|\w)+\b", words)
</code></pre>
<p>括号中的部分是一个组,它匹配由字母包围的撇号或单个字母</p>
<p>编辑:</p>
<p>这是更灵活的:</p>
<pre class="lang-py prettyprint-override"><code>re.findall(r"\b(?:(?<=\w)'(?=\w)|\w)+\b", words)
</code></pre>
<p>不过,在这一点上,它变得有点难以理解,实际上,你可能应该使用伍德福德的答案</p>