2024-05-23 18:25:08 发布
网友
我试图从一个.eml文件中寻找一个链接,但不知怎么的,我总能找到它
对。你是对的。只需从原始文本中删除空白和新行。 例如:
link = re.findall("CONFIRM<([^\s]+)>", raw_email.replace('\n', '').replace(' ', ''))
基本上,您希望获得CONFIRM<和>之间的所有内容
CONFIRM<
>
(.*?)
.group(1)
import re def get_url(raw): raw = raw.replace(' ', '') url = re.search('CONFIRM<(.*?)>', raw).group(1) return url
对于给定的测试用例
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))
将输出
https://app.rule.io/subscriber/optIn?token=3DeyJ0eXAiOiJKV1QiLCJhbG=ciOiJIUzI1NiJ9.eyJzdWIiOjEssswrgTA3OCwic3Vic2NyaWJlckZvcm0iOjExOTAsImlzcyI6=Imh0dHBzOi8vYawetgg1bGUuaW8iLCJpYXQiOjE2MjM1NzkwMDYsImV4cCI6MTYyNDE4MzgwNiw=ibmJmIjoxNjIzNTc5MDA2LCJqdGkiOiJEbHMyeDJmcG5pZEhTWXVjwjwje-52uhXlj9efaEwzfI=Rruoiqc3RvUTZ8LgB6ALEAoL4
对。你是对的。只需从原始文本中删除空白和新行。 例如:
基本上,您希望获得
CONFIRM<
和>
之间的所有内容(.*?)
将捕获CONFIRM<
和>
之间的所有内容.group(1)
获取实际捕获的字符串对于给定的测试用例
将输出
相关问题 更多 >
编程相关推荐