gpt4 book ai didi

php - 将正则表达式与非贪婪秒一起使用

转载 作者:搜寻专家 更新时间:2023-10-31 21:56:23 24 4
gpt4 key购买 nike

我有一个匹配字符串并使用非贪婪语法的正则表达式,因此它在第一个结束匹配处停止。我需要它在第二场比赛结束时停下来。我该怎么做?

$text = "start text1 end text2 end text3 end";
$regex = "~start.+?end~";
preg_match($regex, $text, $match);
print_r($match);

结果:

start text1 end

需要结果

start text1 end text2 end

最佳答案

以下应该有效,您只需再次重复您想要的表达式序列。有几种方法可以做到这一点。最简单的方法是:

$text = "start text1 end text2 end text3 end";
$regex = "~start.+?end.+?end~";
preg_match($regex, $text, $match);
print_r($match);

您可能还想使用精确量词来描述模式:

$text = "start text1 end text2 end text3 end";
$regex = "~start(.+?end){2}~";
preg_match($regex, $text, $match);
print_r($match);

“{2}”告诉它匹配它前面括号中的所有内容恰好两次。

关于php - 将正则表达式与非贪婪秒一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33179774/

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