gpt4 book ai didi

php - 正则表达式来自字符串的顶级内容

转载 作者:行者123 更新时间:2023-12-03 22:54:26 26 4
gpt4 key购买 nike

请帮忙,我的正则表达式技能让我失望了。我有以下字符串:

username|email_address|phone_numbers[number]profile[title|addresses[id]]

我希望能够提取方括号之间的任何数据,但不希望该数据是已提取数据集的子集。因此,任何嵌套都应保留为父级提取字符串的一部分。

在上面的示例中,我提取了两个部分:

"number"
"title|addresses[id]"

请注意,[id] 是较低级别数据集的一部分,因此未被提取。

我一直在尝试使用 preg_match 执行此操作,但认为我可能不得不求助于迭代字符串中的每个字符。

最佳答案

这是一个正则表达式解决方案:

preg_match_all(
'/(?<=\[) # Assert that the previous characters is a [
(?: # Match either...
[^[\]]* # any number of characters except brackets
| # or
\[ # an opening bracket
(?R) # containing a match of this very regex
\] # followed by a closing bracket
)* # Repeat as needed
(?=\]) # Assert the next character is a ]/x',
$subject, $result, PREG_PATTERN_ORDER);
$result = $result[0];

关于php - 正则表达式来自字符串的顶级内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16415558/

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