gpt4 book ai didi

php - 正则表达式在一场比赛中获得重复比赛

转载 作者:行者123 更新时间:2023-12-03 14:29:33 25 4
gpt4 key购买 nike

我在源代码中有这个示例字符串:@include_plugin:PluginName param1=value1 param2=value2@

我想要的是从源中找到 @include_plugin:*@ 的所有出现,结果是 PluginName 和每个 paramN=valueN.

此刻我正在摆弄这样的东西(并尝试了很多变体):/@include_plugin:(.*\b){1}(.*\=.*){0,} @/ (使用这个 resource )。不幸的是,我似乎无法定义一个能给我想要的结果的模式。有什么建议吗?

示例更新:假设我在 .tpl 文件中有这个字符串。 @include_plugin:BestSellers limit=5 fromCategory=123@

我希望它返回一个数组:

0 => BestSellers, 
1 => limit=5 fromCategory=123

或者更好(如果可能的话):

0 => BestSellers, 
1 => limit=5,
2 => fromCategory=123

最佳答案

您可以分两步完成。首先用正则表达式捕获该行,然后将参数分解为一个数组:

$subject = '@include_plugin:PluginName param1=value1 param2=value2@';
$pattern = '/@include_plugin:([a-z]+)( .*)?@/i';
preg_match($pattern, $subject, $matches);

$pluginName = $matches[1];
$pluginParams = isset($matches[2])?explode(' ', trim($matches[2])):array();

关于php - 正则表达式在一场比赛中获得重复比赛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11902141/

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