/ / Regexabgleich *, à und? - Java, Regex, Mustervergleich, Ausdruck

Regex passend *, à und? - Java, Regex, Mustervergleich, Ausdruck

Regex die schwierigste für mich. Ich brauche die Regex für unten in Java

1) 17-08-15 11.04A &AD4 USFR EN 00*

My TRY:d[1-9]+-d[1-9]+-d[1-9]+s+d[1-9].d[1-9]+w+s+&+w+ds+w+s+w+s+d+

& und * >> Ist das erste Problem und wenn es einen besseren Regex für den obigen gibt, bitte schlagen Sie vor.

2)17-08-15 11.04A &AD4 USER 0002******** j? j? à?&AD4N

PROBLEM>> ******* und?, &, `wie man diese in Regex einbezieht.

Ich habe viel gegooglet, aber nur einfache Regex "s sind verfügbar. Und die Werkzeuge erzeugen alle konstanten Art Regex, der die Zeichenketten nimmt, wie es reg-mögen ist

16-09-14s+11.04As+&AD4s+USERs+ENs+00

Es enthält alles so wie es ist, also ist diese Art von Regex für mich nicht nützlich.

Vielen Dank

Antworten:

1 für die Antwort № 1

Um nach bestimmten Sonderzeichen (wie & und *) zu suchen, müssen Sie ihnen durch Setzen entkommen vor: *, &.

1) Deine Regex ist falsch. Soweit ich verstanden habe, repräsentiert die erste Gruppe das Datum, so dass Ihre Regex auch für ein solches Datum funktioniert: 32-99-15. Gleiches gilt für die Zeit. Sie können es hier überprüfen: https://regex101.com/r/tX1iD9/2

Hier ist die Regex für den Datums- und Uhrzeitteil bis zum kaufmännischen Und-Zeichen 17-08-15 11.04A:

(0[1-9]|[12]d|30)-(0[1-9]|1[0-2])-[0-9]{2}s(0d|1[1-2]).([0-5]d){1,2}(A|P)s&

Es unterstützt 12 Stunden Zeit mit A oder P Am Ende und am richtigen Datum können Sie es hier testen: https://regex101.com/r/mF9dQ9/3

Und für die ganze Zeichenfolge finden Sie hier Regex: https://regex101.com/r/mF9dQ9/4

2) Regex für die Sekunde:

(0[1-9]|[12]d|30)-(0[1-9]|1[0-2])-[0-9]{2}s+(0d|1[1-2]).([0-5]d){1,2}(A|P)s&[A-Z]{2}ds+[A-Z]{4}s+(d|*){12}sw?sw?sà?&w{2}dw

https://regex101.com/r/eT8eY6/1