Die Ausgabe, die ich erwarte, dass 180 aus diesem zu bekommen, istCapturing Stringliterale optional regex
- SE 180, Einzelstudien, 08/24/16, 12/12/16, R MAK
- SE , Einzelstudien, 08/24/16, 12/12/16, H Katircioglu
aber wie Sie sehen können, manchmal, weil, wie die Datendatei umgewandelt wurde, ein unerwartetes (button)
erscheint zwischen den ersten beiden Daten Felder.
Hier ist der Regex, den ich mir ausgedacht habe. Ich verstehe nicht, warum es nicht fängt. Ich hüpfte mit einer Reihe von Augen, die mir helfen würden, meinen Fehler zu verstehen. Ich bin noch neu in Regex, aber hier ist, was ich verstehe
In meinem Fall, um die Zeichenfolge Literal "(Schaltfläche)" erfassen, tippe ich \(button\)
. Für meine Daten endet das String-Literal immer mit einem Leerzeichen. Und ich möchte die ganze Gruppe von Daten optional machen. Daher lande ich bei (?:\(button\)\s?)?
.
Regex Gebrauchte
https://regex101.com/r/88VDYN/1
([A-Z]+\s\S+)\s(?:\(button\)\s?)?([A-Z]+.+?)\s\d+\s\d+.+?(\d\d\/\d\d\/\d\d)-(\d\d\/\d\d\/\d\d)\s?(?:.*?([A-Z]\s[A-Z]+-*[A-Z]+))?\s
Data Set
SE 180 INDIVIDUAL STUDIES 92 49321 3 SUP 73 P 1/90 F 0730-1020 08/24/16-12/12/16 ENG 189 R MAK
SE 180
(button)
INDIVIDUAL STUDIES 90 49320 3 SUP 73 P 0/50 MW 1500-1615 08/24/16-12/12/16 ENG 337 H KATIRCIOGLU
Vielen Dank, mein Herr! Ich bin immer noch ziemlich neu in Regex, also nahm ich automatisch an, dass es eher ein Syntaxfehler meinerseits war, dann vermisse ich das Urteil über '\ n' und Whitespaces. Danke nochmal! –