Wenn eine Regex Suche in Python durchführen, selbst wenn re.MULTILINE
nicht, wirdKann Pythons Regex daran gehindert werden, Zeilenumbrüche mit ' s' zu kreuzen?
Der Ausdruck A[\s]B
gegen
A
B
entsprechen Da ein Newline \s
übereinstimmt.
Neben der Aufspaltung der Zeichenkette in Zeilen und die Bearbeitung der einzelnen - Gibt es eine effiziente Möglichkeit, die Ausdrücke auf Zeilenumbrüche zu begrenzen?
Edit: Ich seine möglichen kennen [\t ]
oder [^\S\r\n]
zu verwenden, ist das Problem, das ich in diesem Fall nicht über die Eingabe steuern, Benutzer \s
eingeben und werde es nicht erwarten, Linien spand. Ich bin nicht daran interessiert, den Benutzern zu sagen, dass sie falsch liegen, aus ihrer Sicht ist dies ein Fehler.
Also, wenn die Antwort ist "es kann nicht ohne Zeilenaufteilung getan werden" - so sei es.
Beachten Sie, dass die Verarbeitung einer Datei Zeile für Zeile in meinen Tests ungefähr doppelt so langsam ist.
Fragen Sie, wie Sie nur * horizontale Leerzeichen * abgleichen können? –
Ich denke schon, ja. – ideasman42
Verwenden Sie '[^ \ S \ r \ n]' –