擅长:python、mysql、java
<p>使用:</p>
<pre><code>\bhttps?://(?=[\w.]*/)(?:(?!https?://).)*
</code></pre>
<p>它会找到正确的url,并从您的示例中拒绝其他url</p>
<p><a href="https://regex101.com/r/aE5tjs/4" rel="nofollow noreferrer">Demo & explanation</a></p>
<hr/>
<pre><code>import re
body_text = '''
hi, this is your link (but this one is bad formatted and useless):
https://www.test.comhttps://app.test.com/a/b/c/5e20bed422e7880012ba8acc/next?param=1?locale=2
but there is a good link too:
https://app.test.com/a/b/c/5e20bed422e7880012ba8acc/next?param=1?locale=2
and there are also other irrelevant links:
http://www.google.com
http://test.test.com
'''
url = re.findall(r"\bhttps?://(?=[\w.]*/)(?:(?!https?://).)*", body_text)
print url
</code></pre>
<p><strong>输出:</strong></p>
<pre><code>['https://app.test.com/a/b/c/5e20bed422e7880012ba8acc/next?param=1?locale=2']
</code></pre>