gpt4 book ai didi

regex - 在正则表达式中获取嵌套组时出现问题

转载 作者:行者123 更新时间:2023-12-01 11:56:00 35 4
gpt4 key购买 nike

给定以下文本:

//[&][$][*]\n81723&8992%9892*2343%8734

我需要得到:

1. &
2. $
3. *
4. 81723&8992%9892*2343%8734

第一行定义分隔第二行数字的定界符。分隔符数量未定义。

我制作了这个正则表达式:

//(?:\[([^\]]+)\])+\n(.+)

但是只得到了2组。第一个是最后一个分隔符,第二个是包含数字的字符串。我试过了,但我无法得到所有的定界符。我不擅长正则表达式,但我认为第一组在 (?:[([^]]+)])+ 的每次迭代中都会被覆盖,我无法解决这个问题。

有什么帮助吗?

问候

维克多

最佳答案

您要处理的不是嵌套组,而是重复组。你是对的:当捕获组由量词控制时,它会在每次迭代时重新填充,因此最终值是上次捕获的值。

在我熟悉的任何正则表达式风格中,您尝试执行的操作都是不可能的。

这里有更完整的解释:Repeating a Capturing Group vs. Capturing a Repeated Group

关于regex - 在正则表达式中获取嵌套组时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7211004/

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