Suchen nach Zeichenfolgen, die Zeilenumbrüche in Notepad ++ enthalten

1647
user1021085

Ich gehe Untertiteldateien durch, also gibt es solche Sachen

442
00: 24: 18,017 -> 00: 24: 20,551
Jetzt suchen Sie nur
einen Sündenbock.

und ich frage mich, wie ich nach "nur nach einem suchen" suchen und es finden kann. Im Moment bekommt "Sie suchen nur" eine Übereinstimmung, "für einen Sündenbock" bekommt eine Übereinstimmung, "auf der Suche nach" bekommt keine Übereinstimmung.

Ich habe versucht, den Suchmodus auf normal / erweitert zu setzen

0

3 Antworten auf die Frage

3
LPChip

Wenn Sie die erweiterte Suche verwenden, können Sie \r\nals Newline suchen, wenn Ihr Dokument unter Windows erstellt wurde. Wenn es unter Linux erstellt wurde, ist dies höchstwahrscheinlich nur möglich\n

Wenn Sie also suchen:

just looking\r\nfor a 

Es sollte dir die Übereinstimmungen finden. Um genau zu wissen, wonach gesucht werden soll, drücken Sie die Schaltfläche in der Symbolleiste, um alle Sonderzeichen anzuzeigen.

Irgendein CRwird gesucht \rund LFgesucht \n.

Suchen Sie nach Leerzeichen am Anfang und Ende der Zeile und suchen Sie auch nach diesen.

Ich möchte verschiedene Zitate suchen und bin nicht sicher, wo sie ihre Zeilenumbrüche gemacht haben. Gibt es eine Möglichkeit, einfach zu sagen: "Suche diese Zeichenfolge, finde Übereinstimmungen, auch wenn sie durch neue Zeilen unterbrochen ist" oder so etwas? user1021085 vor 6 Jahren 0
Dazu benötigen Sie RegEx und aktivieren Sie die Option rechts, um nach Linebreaks zu suchen. LPChip vor 6 Jahren 1
Es tut mir leid, wie würde das aussehen? user1021085 vor 6 Jahren 0
Ich fange an zu glauben, dass Sie versuchen, etwas mit den falschen Werkzeugen zu tun oder hier die falsche Methode zu verwenden. Was genau wollen Sie am Ende erreichen? LPChip vor 6 Jahren 0
Ich möchte in der Lage sein, die Untertiteldateien zu durchsuchen und Anführungszeichen (Episode, Kontext usw.) zu finden. user1021085 vor 6 Jahren 0
Dann würde ich vorschlagen, die gesamte Datei zu suchen / zu ersetzen und alle Zeilen in den Zeilen zu entfernen. Das würde alle Sätze effektiv zu einem Satz zusammenführen. Sie können dann frei suchen. LPChip vor 6 Jahren 0
0
Olaf Dietsche

Notepad verwendet PCRE (Perl-kompatiblen regulären Ausdruck) für Suchen / Ersetzen. Sie können also \sfür Leerzeichen verwenden, z. B. mit einem Leerzeichen / Zeilenumbruch

looking\sfor 

oder dieser reguläre Ausdruck mit mindestens einem oder mehreren Leerzeichen / Zeilenumbrüchen

looking\s+for 

Siehe auch regular-expressions.info - Kurzzeichenklassen

\ s steht für "Leerzeichen". Welche Zeichen dies tatsächlich enthält, hängt wiederum vom Regex-Geschmack ab. In allen in diesem Tutorial behandelten Ausführungen ist [\ t \ r \ n \ f] enthalten. Das heißt: \ s entspricht einem Leerzeichen, einem Tabulator, einem Zeilenumbruch oder einem Formularvorschub. Die meisten Varianten enthalten auch die vertikale Registerkarte, wobei Perl (vor Version 5.18) und PCRE (vor Version 8.34) bemerkenswerte Ausnahmen darstellen. In Varianten, die Unicode unterstützen, enthält \ s normalerweise alle Zeichen aus der Unicode-Kategorie "Trennzeichen". Java und PCRE sind noch einmal Ausnahmen. JavaScript passt jedoch alle Unicode-Whitespaces mit \ s an.

0
Kyle H

Es gibt mehrere Möglichkeiten, Hurra für Regex und Perl !!!

1. Versuchen Sie, es in einen regulären Ausdruck zu setzen, und suchen Sie nach "nur suchen. *?" Nach einem "ohne Anführungszeichen", und stellen Sie sicher, dass das Kontrollkästchen aktiviert ist. Zeichen entsprechen den Zeilenumbrüchen. das passt zum Newline, setzen Sie [] * um. *? wenn Sie nicht möchten, dass es auch mit newline übereinstimmt.

2. Passen Sie die \ r \ n wörtlich wie in der anderen Antwort an. Setzen Sie den regulären Ausdruck in "Regex" und suchen Sie nach "nur suchen \ r \ nfor a", dies entspricht dem Zeilenumbruch; setzen Sie [] * um \ r \ n, wenn Sie nicht möchten, dass er mit dem Zeilenumbruch übereinstimmt. Fügen Sie \ s + in die [] -Klammern ein, um auch Leerzeichen zu finden.

Hoffe das hilft! Bitte kommentieren Sie zur Klarstellung!