gpt4 book ai didi

regex - 如何在perl中使用正则表达式在字符的第一个实例而不是最后一个实例处停止.+?

转载 作者:行者123 更新时间:2023-12-04 16:28:02 25 4
gpt4 key购买 nike

我想更换:

'''<font size="3"><font color="blue"> SUMMER/WINTER CONFIGURATION FILES</font></font>'''

和:
='''<font color="blue"> SUMMER/WINTER CONFIGURATION FILES</font>'''=

现在我现有的代码是:
$html =~ s/\n(.+)<font size=\".+?\">(.+)<\/font>(.+)\n/\n=$1$2$3=\n/gm

然而,结果是这样的:
=''' SUMMER/WINTER CONFIGURATION FILES</font>'''=

现在我可以看到发生了什么,它匹配 <font size ="..... all the way up to the end of the <font colour blue">这不是我想要的,我希望它在 的第一个实例处停止" 不是最后一个,我认为这就是将 ? 标记放在那里会做的事情,但是我已经尝试过 .+ .+? .* 和 .*? 每次都得到相同的结果。

任何人都知道我做错了什么?

最佳答案

写信 .+? 各地使每场比赛都变得不贪婪。

$html =~ s/\n(.+?)(.+?)<\/font>(.+?)\n/\n=$1$2$3=\n/克
^ ^ ^ ^

还要尽量避免使用正则表达式来解析 HTML。如果可能,请使用 HTML 解析器。

关于regex - 如何在perl中使用正则表达式在字符的第一个实例而不是最后一个实例处停止.+?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4496018/

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