gpt4 book ai didi

regex - 为什么这些非捕获正则表达式组不能正常工作?

转载 作者:行者123 更新时间:2023-12-05 01:06:46 29 4
gpt4 key购买 nike

所以我花了很多时间在另一个堆栈溢出问题上,同样的问题出现在上一个。非捕获组并没有像我期望的那样工作,或者我相信。

这是一个与其他人的 CSS 测试字符串类似的愚蠢示例......

这是我的正则表达式:

(?:(rgb\([^)]*\)|\S+)(?:[ ]+)?)*

这是测试字符串:
1px solid rgb(255, 255, 255) test rgb(255, 255, 255)

我期待匹配组“1px”、“solid”、“rgb(255, 255, 255)”、“test”、“rgb(255, 255, 255)”

但我只得到最后一个 token 匹配。

这是测试链接:

http://regex101.com/r/pK1uG7

这里出了什么问题?我以为我有非捕获组,并且在 regex101 底部解释它的方式是有道理的,包括“贪婪”。

最佳答案

捕获组覆盖之前的每个匹配项。捕获组 #1 首先匹配“1px”,然后捕获组 #1 匹配“solid”覆盖“1px”,然后匹配“rgb(255, 255, 255)”覆盖“solid”等。

关于regex - 为什么这些非捕获正则表达式组不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19600204/

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