首页 > 解决方案 > 如何从 Python 中的正则表达式捕获 URL?

问题描述

import re   
string = """position":1,"url":"https://www.flipkart.com/honor-8c-black-64-gb/p/itmfc8c4fsekrpdp?pid=MOBFC8C8FXXNHZ7C&lid=LSTMOBFC8C8FXXNHZ7CZYQGKP&marketplace=FLIPKART,"""
regex = "\w\w\w\w\w\w\w\w\W\W\d\W\W\w\w\w\W\W\W\w\w\w\w\w\W\/\/(...)\"\W"             
match = re.findall(regex, string)  
print(match)

我只想从上述变量中​​捕获链接,输出必须以这种方式 -( https://www.flipkart.com/honor-8c-black-64-gb/p/itmfc8c4fsekrpdp?pid=MOBFC8C8FXXNHZ7C&lid=LSTMOBFC8C8FXXNHZ7CZYQGKP&marketplace= FLIPKART)当我运行上面的代码时,它只是给了我空括号

我认为我的正则表达式有问题所以请任何人帮助我

提前致谢。

标签: pythonregex

解决方案


你有一些格式问题。给你(假设这种格式是一致的,否则按照评论中的建议):

import re

string ='"position":1,"url":"https://www.flipkart.com/honor-8c-black-64-gb/p/itmfc8c4fsekrpdp?pid=MOBFC8C8FXXNHZ7C&lid=LSTMOBFC8C8FXXNHZ7CZYQGKP&marketplace=FLIPKART"'
regex = r'\"url\":\"(.*)\"'
match = re.search(regex, string)

print(match.group(1))

推荐阅读