Ich habe gerade eine Zeichenfolge mit einem regulären Ausdruck abgeglichen.Suche nach Duplikaten in einer RegEx-Erfassungsgruppe?
Ich möchte eine Zeichenfolge, die 3 Buchstaben/Ziffern-Kombinationen enthält, übereinstimmen. Es kann ein A, B oder L enthalten, gefolgt von einer Ziffer 1-3. (im Falle eines L, 1-4)
Meine Frage: Ich möchte die Zeichenfolge nicht übereinstimmen, wenn ein Buchstabe mehrere Male übereinstimmt. Also können A, B und L nur einmal vorkommen. so weit
Mein Ausdruck:
(?:[A|L|B](?(?<=L)[1-4]|[1-3])){3}
Teststrings, die in diesem Moment entsprechen:
L2B1A3
B2L1A2
A1B1L4
A1A2A3
Strings, die in diesem Moment nicht übereinstimmen:
L4B4A1 (Only L can have a digit that's 4)
L2A1B (Missing digit)
Strings, die ich will nicht übereinstimmen (jetzt passend):
Wie wäre es damit?^(?!. * [AB] 4) ([ALB]) [1-4] (?: (?! \ 1) ([ALB]) [1-4]) (? : (?! \ 1 | \ 2) ([ALB]) [1-4]) $ '? demo https://www.regex101.com/r/VKGj0q/1 –
@ WiktorStribiżew er nicht mit 'A1A2A3' übereinstimmen möchte –
@AvinashRaj: Wenn die Frage klar wäre, hätte ich die Antwort gepostet. Vielleicht braucht OP ['^ (?! ([ALB]). * \ 1) (?: [AB] [1-3] | L [1-4]) {3} $'] (https: // regex101 .com/r/uZflbO/5). ** Milkmannetje **, könnten Sie bitte den umfangreichen Testfall zur Verfügung stellen? Welche Strings sind gültig und welche nicht? –