擅长:python、mysql、java
<pre><code>import re
input = 'I like {sushi} and {tempura}.'
regex = re.compile(r'\{([^\}]*)\}')
lst = regex.findall(input) #['sushi','tempura']
mod_str = regex.sub('*',input) #I like * and *.
print (lst)
print (mod_str)
</code></pre>
<p>也可以使用字符串格式进行替换:</p>
^{pr2}$
<hr/>
<p>regex分解(注意我使用了一个原始字符串[<code>r'...'</code>]):</p>
<ul>
<li><code>\{</code>查找文本{</li>
<li><code>[^\}]</code>匹配任何不是文本'}'</li>
<li><code>*</code>尽可能多地匹配它。在</li>
<li><code>\}</code>匹配文本'}'</li>
</ul>
<p>添加括号以在<code>re.findall</code>的匹配中进行分组。在</p>
<hr/>
<p>正如DSM指出的,查找标记之间文本的另一个常见习惯用法是:</p>
^{3}$
<p>也就是说:</p>
<ul>
<li><code>\{</code>匹配文本{</li>
<li><code>(.*?)</code>匹配任何内容,但不要贪心(不要吃re在下一个匹配部分可以使用的东西)</li>
<li><code>'\}'</code>匹配文本'}'</li>
</ul>