Regexr zmienne stosowane zamiennie z pojedynczym wykorzystaniem

Mam takie sobie wyrażenie:
^/check\s(name|steam|hwid|ip|all)\s(first|last|all)\s(true|false)\s(.\S)$
Chcę aby pierwsza grupa druga i trzecia bez czwartej mogła być stosowana zamiennie.
Czyli takie coś:
^/checkp\s((name|steam|hwid|ip|all)|(first|last|all)|(true|false))\s((name|steam|hwid|ip|all)|(first|last|all)|(true|false))\s((name|steam|hwid|ip|all)|(first|last|all)|(true|false))\s(.
\S)$
Ale chcę aby zamiennie mogło być wykorzystane tylko. Czyli jezeli grupa (true|false) zostanie wykorzystana w pierwszym wyrażeniu to aby nie mogła być wykorzystana w innych grupach.
Czyli coś takiego
/checkp true all first cnasjdjasd
/checkp all true first cnasjdjasd
etc
Niestety powyższe wyrażenie zrobi mi możliwość stworzenia /checkp true true true cnasjdjasd

„jak masz złoty młotek, to wszystko wydaje się być gwoździem”

a @dominikk26 dlaczego tylko regexpami?
Nie można skryptem, pythonem, czy czymś?
Możliwe, że nie, ale może po prostu się na tym regexpie zafiksowałeś? może lepiej trochę logiki zapisać w kilku linijkach?
No bo z doświadczenia wiem, że po miesiącu, takiego regexpa przeczytać samemu jest ciężko, a co dopiero drugiej osobie :slight_smile: