擅长:python、mysql、java
<p>你可以试试这个-</p>
<pre><code>x = "== Title1 ==="
ptrn = "[=]{1,}[\s]{0,}[\w]+[\s]{0,}[=]{1,}"
if re.search(ptrn, x):
x = x.replace('=', '').strip()
</code></pre>
<p>会给你<code>Title1</code>。或者假设你想要列表中所有匹配的标题,你可以-</p>
<pre><code>x = '== Title1 ===nansnsk fnasasklsanlkas lkaslkans \n== Title2 ==='
titles = [i.replace('=', '').strip() for i in re.findall(ptrn, x)]
# OP ['Title1', 'Title2']
</code></pre>
<p>图案是-</p>
<pre><code>"^[=]{1,}[\s]{0,}[\w]+[\s]{0,}[=]{1,}"
</code></pre>
<blockquote>
<p>^[=]{1,} - match at least one equal sign at the start</p>
<p>[\s]{0,} - match between zero to unlimited equal signs</p>
<p>[\w]+ - match [a-zA-Z0-9_] once or more</p>
</blockquote>
<p>之后,我们可以通过将<code>=</code>替换为<code>''</code>并将其从空格中剥离来提取文本。您可以在<a href="https://regex101.com/r/XWwYi1/1" rel="nofollow noreferrer">regex101</a>尝试,这在测试regex时非常有用</p>