同じキーワードまたはキーワードの組み合わせを 1 つまたは複数の名前付きグループに割り当てる機能を持つ正規表現を実装しようとしています。
たとえば、('aa' AND 'bb') OR 'cc'に一致させ、'aa' AND 'bb' を group<1> に、'cc' を group<2> に割り当てます。
また、 ('aa' AND 'bb') OR 'aa' のようなクエリを使用することもできます。'aa' AND 'bb' を group<1> に入れ、同時に 'aa' を group< に入れたい2>.
// Works to get 'aa' everywhere but cannot find a way to add 'bb' to the group<1>
(?=(?:\s+|^)(?<1>aa)(?:\s+|$))
編集 :
Input Example : bb is nice but not without the missingaa
Output : Does not Validate, Group<1> is null | Group<2> is null
-
Input Example : bb is nice as well as aa
Output : Validate, Group<1> : bb is nice as well as aa | Group<2> is null
-
Input Example : bb is nice but not without the missingaa or cc
Output : Validate, Group<1> is null | Group<2> is cc
-
Input Example : bb is nice as well as aa or cc
Output : Validate, Group<1> is bb is nice as well as aa | Group<2> is cc
グループ化が複雑になる可能性があることはわかっていますが、aa と bb が存在する場合に null ではない Group<1> を探しています。
どうすればこの動作を実現できますか?