擅长:python、mysql、java
<p>下面是一个脚本,重新定义芬迪:</p>
<pre><code>from __future__ import print_function
import re
def Findy(start, end, anystring):
pattern = '{}(.*?){}'.format(start, end)
return re.findall(pattern, anystring)
string = 'I want A and I want B and I want C and...'
print(Findy('want', 'and', string))
</code></pre>
<p>输出:<code>>>> [' A ', ' B ', ' C ']</code></p>
<p>模式如下:</p>
<ol>
<li>开始匹配字符开始</li>
<li>(*?)。捕获除换行符以外的任何字符,*零次或多次?尽可能地,()是一个捕获组</li>
<li>结束匹配字符结束</li>
</ol>
<p><strong>UDPATE</strong>:如果不需要空格字符,可以使用<code>pattern = '{}\s*(\S*?)\s*{}'.format(start, end)</code></p>
<pre><code>\s matches any white space character
\S matches any non-white space character
</code></pre>
<p>输出:<code>>>> ['A', 'B', 'C']</code></p>