使用Python在一个大字符串中查找多个不同URL的实例,其中每个URL位于两个特定的子字符串之间

2024-10-08 19:31:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件只包含一个长字符串,其中嵌入了多个url。这些url都是不同的,但总是在两个特定的子字符串之间括起来。如何提取所有的网址?在

我的文件内容如下所示:

data-starred-src="www.example.com" data-non-starred-src asdf asdf ghgh data-starred-src="www.someurl.com" data-non-starred-src gjsltg ajshssl ahssfh data-starred-src="www.anotherurl.com" data-non-starred-src

我想提取表单中的url

^{pr2}$

Tags: 文件字符串srccomurl内容dataexample
3条回答

这应该做到:

(?<=\")([^"]+\.[^"]+\.[^"]+)(?=\")

工作正则表达式示例:

http://regex101.com/r/sI2jL7

或者另一个例子:

http://regex101.com/r/sI2jL7

在这个例子中,这个:

print re.findall(r'data-starred-src\s*=\s*"([^"]*)"', line)

给出:

^{pr2}$

尝试以下操作:

import re
r1 = re.compile('(?:AAA ")([^"]*)(?:" BBB)')
s = 'AAA "www.example.com" BBB asdf asdf ghgh AAA "www.someurl.com" BBB gjsltg ajshssl ahssfh AAA "www.anotherurl.com" BBB'
res = r1.findall(s)

如果s很长,您也可以考虑使用finditer()。在

更新的re看起来像这样

^{pr2}$

但我只是简单地用新的分隔符替换了AAA和BBB,所以如果之前代码不起作用,代码就可能无法工作。在

相关问题 更多 >

    热门问题