gefunden habe ich eine mehrzeilige Zeichenfolge wie folgt:Regex, die nur übereinstimmt, wenn keine doppelten Linien
SA21 abcdef
BKxyz
SA21 abcdef
Ich brauche einen regulären Ausdruck, der nur übereinstimmt, wenn die Linie ^SA21 abcdef$
einmal vorhanden ist. So soll es nicht für das erste Beispiel passen, aber es sollte für dieses Spiel ein:
BK udsia
SA21 abcdef
BKxyz
Ich habe versucht, die Leitung zu erfassen und sicherzustellen, dass es nur übereinstimmt, wenn die gleiche Zeile nicht später gefunden wird: /(^SA21 abcdef$)(?!\1)/m
regex101 aber das tut funktioniert nicht, da es wahrscheinlich immer der letzten Zeile entspricht ...
Versuchen Sie ['\ A (?: (?!^SA21 abcdef $).) * (^ SA21 abcdef $) (?: (?!^SA21 abcdef $).) * \ Z'] (https://www.regex101.com/r/vN4tQ9/1) (will nur wissen, ob das stimmt) ist die richtige Richtung). –
Warum passen Sie es nicht einfach an, und prüfen Sie dann, wie viele Übereinstimmungen es gibt und machen Sie das 'if' dazu? –
@FlorianPeschka Ich kann nicht einfach Code verwenden, wie wir die Regex von einem DSL verwenden – Chris