gpt4 book ai didi

php - 用于解析双括号中以竖线分隔的数据的正则表达式

转载 作者:行者123 更新时间:2023-12-04 15:28:44 24 4
gpt4 key购买 nike

我正在尝试匹配这样的字符串:

{{name|arg1|arg2|...|argX}}

正则表达式

我正在使用 preg_match

/{{(\w+)\|(\w+)(?:\|(.+))*}}/

但是每当我使用两个以上的参数时,我都会得到这样的结果

Array
(
[0] => {{name|arg1|arg2|arg3|arg4}}
[1] => name
[2] => arg1
[3] => arg2|arg3|arg4
)

前两项不能包含空格,其余可以。也许我在这方面工作的时间太长了,但我找不到错误 - 任何帮助将不胜感激。

谢谢简

最佳答案

不要为这些简单的任务使用正则表达式。你真正需要的是:

$inner = substr($string, 2, -2);
$parts = explode('|', $inner);

# And if you want to make sure the string has opening/closing braces:
$length = strlen($string);
assert($inner[0] === '{');
assert($inner[1] === '{');
assert($inner[$length - 1] === '}');
assert($inner[$length - 2] === '}');

关于php - 用于解析双括号中以竖线分隔的数据的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1328567/

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