所以我花了很多时间在另一个堆栈溢出问题上,同样的问题出现在前一个问题上。非捕获组并没有像我期望的那样工作,或者我相信。
这是一个愚蠢的例子,类似于别人的 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)”
但我只得到最后一个匹配的令牌。
这是测试的链接:
这里出了什么问题?我以为我有非捕获组,并且它在 regex101 底部的解释方式是有道理的,包括“贪婪”。