gpt4 book ai didi

regex - 使用正则表达式查找 PHP anchor 之间的特定匹配

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

如果我有以下代码并且只想使用正则表达式返回包含“函数 xyz”的 PHP 块:

<?php
function xyz(
// Code goes here
)
?>

<!-- HTML code here -->

<?php
// Other code
echo "Its done!";
?>

我尝试执行以下正则表达式:/(<\?php).*function xyz.*(\?>)/s 以获得以下结果:
<?php
function xyz(
// Code goes here
)
?>

但是它没有得到预期的结果,它最终给了我第一个“<\?php”和最后一个“\?>”之间的所有内容。任何人都可以建议正确的正则表达式语法来完成此操作吗?

最佳答案

Jack Maney 提出了一个很好的观点,但是,对于您的特定情况,您可以简单地使用

/<\?php.*function xyz.*?\?>/s

您需要使用 ungreedy/lazy 运算符,它是 ?您在 + 之后立即插入或 * .这两个量词(* 和 +)是贪婪的运算符,这意味着它将获取尽可能长的匹配项,而不是我们试图实现的最短匹配项。

关于regex - 使用正则表达式查找 PHP anchor 之间的特定匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15098430/

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