无法解析某些内容的链接

时间:2019-07-31 19:16:25

标签: python regex python-3.x

我正在尝试使用regex从某些内容中解析出一个链接。我已经成功了,但是我不得不使用replace()函数和this作为标志。问题是this可能并不总是存在于此。因此,我寻求任何解决方案来获得相同的输出,而没有我已经提到的两件事。

import re

content = """
widgetEvCall('handlers.onMenuClicked', event, this, 'http://www.stirwen.be/medias/documents/20181002_carte_octobre-novembre_2018_FR.pdf')
"""
link = re.findall(r'this,\s*([^)]*)',content.strip())[0].replace("'","")
print(link)

输出:

http://www.stirwen.be/medias/documents/20181002_carte_octobre-novembre_2018_FR.pdf
  

如何使用纯正则表达式获取链接?

1 个答案:

答案 0 :(得分:2)

您可以提取this,之后的单引号和空格之间的所有字符:

import re

content = """
widgetEvCall('handlers.onMenuClicked', event, this, 'http://w...content-available-to-author-only...n.be/medias/documents/20181002_carte_octobre-novembre_2018_FR.pdf')
"""
link = ''
m = re.search(r"this,\s*'([^']*)'", content)
if m:
    link = m.group(1)

print(link)
# => http://www.stirwen.be/medias/documents/20181002_carte_octobre-novembre_2018_FR.pdf

请参见Python demo

另外,请参见regex demo