Ich habe ein Regex-Problem, das ich nicht lösen kann. Ich weiß wirklich nicht, ob Regex das kann, aber ich muss einen Bereich von Zeichen n mal am Ende eines Musters anpassen. z.B. blahblah [A-Z] {n} Das Problem ist, dass jedes Zeichen, das dem Endbereich entspricht, alle gleich sein muss.
Ich möchte zum Beispiel
findenaber nicht
Gibt es ein Regex-Muster, das das kann?
Sie können dieses Muster verwenden: blahblah([A-Z])+
Der ist ein Rückverweis auf die erste Erfassungsgruppe, in diesem Fall
([A-Z])
. Und das +
passt dieses Zeichen ein oder mehrmals an. Um es zu begrenzen, können Sie +
durch eine bestimmte Anzahl von Wiederholungen ersetzen, indem Sie {n}
verwenden, z. B. {3}
, das es dreimal entspricht.
Wenn die gesamte Zeichenfolge übereinstimmen muss, stellen Sie sicher, dass ^
vorangestellt ist und dass Sie mit $
enden, damit das Muster ^blahblah([A-Z])+$
Sie können hier mehr Rückverweise lesen.
In den meisten Regex-Implementierungen können Sie dies erreichen, indem Sie auf eine Erfassungsgruppe in Ihrer Regex verweisen. In Ihrem Beispiel können Sie mit dem folgenden fünf gleiche Großbuchstaben verwenden:
%Vor% Beachten Sie, dass Sie, um die Regex n
-Zeiten zu erreichen, {n-1}
verwenden müssen, da eine Übereinstimmung aus der Erfassungsgruppe kommt.
Tags und Links regex