Angenommen ich ein Komma getrennt Linie haben:RegEx: Komma getrennt komplexe Gruppen
aa,bb,cc
ich diese regex kann (nicht wirklich ok, weil dies auch ,aa
passt, aber das ist hier nicht die Frage):
(<my pattern>)?(,<my pattern>)*
Eg
([a-zA-Z]*)?(,[a-zA-Z]*)*
Es sei nun angenommen, dass <my pattern>
ist sehr lang und komplex, wäre es schön, wenn ich etwas sagen konnte, wie:
(<my pattern>)?(,<repeat previous/named group>)*
Gibt es eine Möglichkeit zu sagen, eine bestimmte Gruppe zu wiederholen (Name) (in Python 3.5)
' ist sehr lang und complex' Und , Na und? Dupliziere es einfach mit '(?: [A-zA-Z] +) (?:,? [A-zA-Z]) *' Da '' nichts Besonderes ist, gibt es keinen Grund, Rekursion zu verwenden . Verwenden Sie Rekursion nur dann, wenn Sie Text ausgleichen müssen (kann alles sein), da Rekursion im Allgemeinen einen beträchtlichen Overhead verursacht. –
sln