<p>基本上,您希望获得<code>CONFIRM<</code>和<code>></code>之间的所有内容</p>
<ul>
<li>通过将原始url中的空格替换为空字符串来删除这些空格</李>
<li><code>(.*?)</code>将捕获<code>CONFIRM<</code>和<code>></code>之间的所有内容</li>
<li>使用<code>.group(1)</code>获取实际捕获的字符串</li>
</ul>
<pre><code>import re
def get_url(raw):
raw = raw.replace(' ', '')
url = re.search('CONFIRM<(.*?)>', raw).group(1)
return url
</code></pre>
<p>对于给定的测试用例</p>
<pre><code>raw_url = 'Please click "CONFIRM" below. CONFIRM<https://app.rule.io/subscriber/optIn?token=3DeyJ0eXAiOiJKV1QiLCJhbG= ciOiJIUzI1NiJ9.eyJzdWIiOjEssswrgTA3OCwic3Vic2NyaWJlckZvcm0iOjExOTAsImlzcyI6= Imh0dHBzOi8vYawetgg1bGUuaW8iLCJpYXQiOjE2MjM1NzkwMDYsImV4cCI6MTYyNDE4MzgwNiw= ibmJmIjoxNjIzNTc5MDA2LCJqdGkiOiJEbHMyeDJmcG5pZEhTWXVjwjwje-52uhXlj9efaEwzfI= Rruoiqc3RvUTZ8LgB6ALEAoL4>'
print(get_url(raw_url))
</code></pre>
<p>将输出</p>
<pre><code>https://app.rule.io/subscriber/optIn?token=3DeyJ0eXAiOiJKV1QiLCJhbG=ciOiJIUzI1NiJ9.eyJzdWIiOjEssswrgTA3OCwic3Vic2NyaWJlckZvcm0iOjExOTAsImlzcyI6=Imh0dHBzOi8vYawetgg1bGUuaW8iLCJpYXQiOjE2MjM1NzkwMDYsImV4cCI6MTYyNDE4MzgwNiw=ibmJmIjoxNjIzNTc5MDA2LCJqdGkiOiJEbHMyeDJmcG5pZEhTWXVjwjwje-52uhXlj9efaEwzfI=Rruoiqc3RvUTZ8LgB6ALEAoL4
</code></pre>