Ich habe eine Gruppe von Wörtern und eine andere Gruppe mit einer Konjunktion. Ich bin auf der Suche nach einem regulären Ausdruck, dass jede einzelne dieser Worte entspricht, in die Verbindung zwischen anspruchs:Wie kann eine Capturing-Gruppe wiederverwendet werden, um eine andere Alternationsauswahl zu treffen?
- Wenn die Worte sind
(A|B|C)
- und die Verbindung ist
(&)
- dann
A & C
übereinstimmen,C & B
und sogarA & A
- aber
A + C
,A C
oderA & D
nicht
Praktisches Beispiel: Betrachten Sie diese Plattform-agnostische Regex: /(Huey|Dewey|Louie) and \1/
.
Ich will es „Huey und Louie“ oder „Dewey und Huey“ passen, aber es passt nur „Huey und Huey“, weil Rückreferenzierungen lediglich vorher angepasst Texte entsprechen.
konnte ich mich wiederholen, indem /(Huey|Dewey|Louie) and (Huey|Dewey|Louie)/
verwenden, aber ich denke, es gibt eine intelligentere Art der Wiederverwendung von Gruppen zu einem späteren Zeitpunkt zu erfassen. Ist das irgendwie machbar?
@ rock321987: Lassen Sie uns hoffen, dass Sie ohne Grund Angst haben, nur noch eine kurze Weile. Wie auch immer, die Wörter Gruppe in eine Variable Konten für die DRY-Problem – dakab
Ich denke, Sie haben jetzt eine Antwort von @melpomene, wenn Rekursion von Programmiersprache, die Sie verwenden, unterstützt .. – rock321987
@ rock321987: Schade, dass Sie Ihren Kommentar gelöscht. – dakab