"Treat as single line" für Regulären Ausdruck

DarthShader

Erfahrenes Mitglied
Hallo,

bei der Perl Syntax für reguläre Ausdrücke (und auch bei anderen Derivaten) gibt es ja das Flag "s" (Treat string as single line) welches besagt, ob der Eingabestring als eine einzige Zeile beim matchen behandelt werden soll.

Die Frage ist nun, kann ich sowas auch irgendwie bei Java (Stichwort Pattern und Matcher) angeben? Ich könnte theoretisch zuerst alle newline-chars aus dem String entfernen, bevor ich ihn auf meinen Regulären Ausdruck untersuche, aber das finde ich doch sehr unschön.

Gibt es da irgendeine Möglichkeit?

Vielen Dank!
 
Ich habe eben die Lösung selbst entdeckt. Nu falls vielleicht auch jemand daran interessiert ist:

Man kann der compile Methode der Pattern Klasse einen Parameter angeben, der die Flags festlegt. In meinem Fall was das gesuchte flag Pattern.DOTALL, der auch Newline Chars beim Matching mit dem Reg. Ausdruck einbezieht.
 
DarthShader hat gesagt.:
Ich habe eben die Lösung selbst entdeckt. Nu falls vielleicht auch jemand daran interessiert ist:

Man kann der compile Methode der Pattern Klasse einen Parameter angeben, der die Flags festlegt. In meinem Fall was das gesuchte flag Pattern.DOTALL, der auch Newline Chars beim Matching mit dem Reg. Ausdruck einbezieht.
Wollte nur Anmerken das DOTALL aber nicht unbedingt den Multiline Mode aktiviert, den du eigentlich beschreibst. Aber es läuft damit genau so ab, wie du es beschrieben hast, nur eben mit der Konstante MULTILINE.
 
Ja das stimmt, da hab ich mich etwas falsch ausgedrückt, was ich wollte ist halt der "Treat as single line" Tag (s), was genau DOTALL ist.
 
Zurück