Regex, wie ein optionales Zeichen gefunden werden soll
Ich habe einen regulären Ausdruck, von dem ich dachte, dass er bis jetzt korrekt funktioniert. Ich muss mit einem optionalen Zeichen übereinstimmen. Es kann dort sein oder es kann nicht.
Hier sind zwei Zeichenfolgen. Die obere Zeichenfolge stimmt überein, die untere nicht. Das Fehlen eines einzelnen Buchstabens in der unteren Zeichenfolge führt zum Fehlschlagen.
Ich möchte den einzelnen Buchstaben nach den ersten 5 Ziffern erhalten, wenn er vorhanden ist. Wenn nicht, fahren Sie mit dem Abrufen des Restes der Zeichenfolge fort. Dieser Buchstabe kann @ seA-Z
.
Wenn ich entferne([A-Z]{1}) +.*? +
von der Regex, es wird alles, was ich brauche, außer dem Buchstaben passen, aber es ist irgendwie wichtig.
20000 K Q511195DREWBT E00078748521
30000 K601220PLOPOH Z00054878524
Hier ist der Regex, den ich verwende.
/^([0-9]{5})+.*? ([A-Z]{1}) +.*? +([A-Z]{1})([0-9]{3})([0-9]{3})([A-Z]{3})([A-Z]{3}) +([A-Z])[0-9]{3}([0-9]{4})([0-9]{2})([0-9]{2})/