python 字符串匹配 正则 re
有勇气的牛排
217
Python
2023-05-18 20:43:09
1. re.match()
尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None。
import re
content = '123I love 123 you!'
pattern = r'123'
res = re.match(pattern, content)
print(res)
print(res.span())
print(res.group())
2 re.search()
扫描整个字符串并返回 第一个 成功的匹配。
失败返回None
import re
content = 'I love 123 you1233!'
pattern = r'123'
res = re.search(pattern, content)
print(res)
print(res.span())
print(res.group())
3 匹配{ }内的字符串
content = data['data']['stem']['content']
pattern = r'[^{}]+'
print(re.findall(pattern, content)[1])
<h2><a id="1_rematch_0"></a>1. re.match()</h2>
<p>尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None。</p>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-keyword">import</span> re
content = <span class="hljs-string">'123I love 123 you!'</span>
pattern = <span class="hljs-string">r'123'</span>
res = re.match(pattern, content)
<span class="hljs-built_in">print</span>(res)
<span class="hljs-built_in">print</span>(res.span())
<span class="hljs-built_in">print</span>(res.group())
<span class="hljs-comment"># 输出</span>
<span class="hljs-comment"># <re.Match object; span=(0, 3), match='123'></span>
<span class="hljs-comment"># (0, 3)</span>
<span class="hljs-comment"># 123</span>
</code></div></pre>
<h2><a id="2_research_17"></a>2 re.search()</h2>
<p>扫描整个字符串并返回 第一个 成功的匹配。<br />
失败返回None</p>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-keyword">import</span> re
content = <span class="hljs-string">'I love 123 you1233!'</span>
pattern = <span class="hljs-string">r'123'</span>
res = re.search(pattern, content)
<span class="hljs-built_in">print</span>(res)
<span class="hljs-built_in">print</span>(res.span())
<span class="hljs-built_in">print</span>(res.group())
<span class="hljs-comment"># <re.Match object; span=(7, 10), match='123'></span>
<span class="hljs-comment"># (7, 10)</span>
<span class="hljs-comment"># 123</span>
</code></div></pre>
<h2><a id="3___34"></a>3 匹配{ }内的字符串</h2>
<pre><div class="hljs"><code class="lang-python">content = data[<span class="hljs-string">'data'</span>][<span class="hljs-string">'stem'</span>][<span class="hljs-string">'content'</span>]
pattern = <span class="hljs-string">r'[^{}]+'</span>
<span class="hljs-built_in">print</span>(re.findall(pattern, content)[<span class="hljs-number">1</span>])
</code></div></pre>
留言