gpt4 book ai didi

Python正则表达式获得最接近的匹配而没有重复的内容

转载 作者:行者123 更新时间:2023-12-05 09:26:02 24 4
gpt4 key购买 nike

我需要什么

我有一个 img src 链接列表。这是一个例子:

  • https://studiocake.kiev.ua/wp-content/webpc-passthru.php?src=https://studiocake.kiev.ua/wp-content/uploads/photo_2020-12-27_12- 18-00-2-333x444.jpg&nocache=1
  • https://studiocake.kiev.ua/wp-content/webpc-passthru.php?src=https://studiocake.kiev.ua/wp-content/uploads/IMG_4945-333x444.jpeg&nocache= 1
  • https://studiocake.kiev.ua/wp-content/webpc-passthru.php?src=https://studiocake.kiev.ua/wp-content/uploads/tri-shokolada.png&nocache= 1

我需要得到以下结果:

studiocake.kiev.ua/wp-content/uploads/photo_2020-12-27_12-18-00-2-333x444.jpg

studiocake.kiev.ua/wp-content/uploads/IMG_4945-333x444.jpeg

studiocake.kiev.ua/wp-content/uploads/tri-shokolada.png

问题

我使用以下正则表达式:

studiocake\.kiev\.ua.*(jpeg|png|jpg)

但它无法按我需要的方式工作。我得到的不是我需要的结果,而是像这样的链接:

studiocake.kiev.ua/wp-content/webpc-passthru.php?src=https://studiocake.kiev.ua/wp-content/uploads/photo_2020-12-27_12-18-00-2-333x444.jpg 

问题

如何使用 Python 正则表达式获得我需要的结果

最佳答案

你可以让一个greedy .* 消费开始比赛和capture后者。

import re

matches = re.findall(r"(?i).*\b(studiocake\.kiev\.ua\S*\b(?:jpeg|png|jpg))\b", s)

See this demo at regex101 (匹配 第 1 组)或 Python demo at tio.run


内部使用\S*来匹配any amountcharacters other than a whitespace .
我进一步添加了一些 \b word boundaries(?i)-flag 忽略大小写

关于Python正则表达式获得最接近的匹配而没有重复的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74628727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com