そのため、別のスタック オーバーフローの質問に多くの時間を費やしましたが、以前の問題でも同じ問題が発生しました。非捕獲グループは、私が期待するように機能していません。またはそう信じています。
これは、他の誰かの 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 の下部で説明されている方法は、「貪欲」を含めて理にかなっています。