正则表达式找到链接

时间:2010-11-27 18:37:48

标签: regex

是否可以拆分以下链接。 我可以选择一个链接,但不能在它们彼此相邻时粘贴。

感谢名单

示例:(我想分别选择这3个链接) http://www.fileserve.com/file/7kXswvM/part1.rarhttp://www.fileserve.com/file/r4F3Gmh/part2.rarhttp://www.fileserve.com/file/r4F3Gmh/part3.rar

4 个答案:

答案 0 :(得分:3)

您可以在http://拆分,并将其重新添加到每个链接(假设它只是全部http)。

答案 1 :(得分:1)

http://(?:(?!http://).)*

将匹配以http://开头的字符串,直到下一次出现http://或字符串结尾。

>>> re.findall(r'http://(?:(?!http://).)*', 'http://www.fileserve.com/file/7kXswvM/part1.rarhttp://www.fileserve.com/file/r4F3Gmh/part2.rarhttp://www.fileserve.com/file/r4F3Gmh/part3.rar')
['http://www.fileserve.com/file/7kXswvM/part1.rar', 
'http://www.fileserve.com/file/r4F3Gmh/part2.rar', 
'http://www.fileserve.com/file/r4F3Gmh/part3.rar']

如果在输入中跟随链接以外的任何内容,这当然不会很有用。作为替代方案,以下正则表达式将匹配到下一个http://或直到下一个空格(或字符串结尾):

http://(?:(?!http://|\s).)*

答案 2 :(得分:0)

匹配http:// - s并拆分。根据{{​​3}},它不会出现在网址的其他部分。

答案 3 :(得分:0)

s/(?<=.)(?=http:)/\n/g;