Wie suchen und ersetzen von 2 Linien (zusammen) in Eclipse?
Möchte ich mehrere files suchen via eclipse für die folgenden 2 Zeilen:
@Length(max = L_255)
private String description;
und ersetzen Sie Sie durch diese zwei:
@Length(max = L_255, message="{validator.description.len}")
private String description;
- aus der Zeile als code zu zeigen, dass es auf 2 Linien. STRG+H lässt mich nicht 2 Zeilen hinzufügen für suchen und ersetzen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Suche sind multi-line standardmäßig in Eclipse, wenn du mit regex:
ersetzt durch:
Es arbeitet perfekt in eine Datei zu Suchen, ausgelöst durch ein STRG-H.
Wie bereits in Tika's Antwort, können Sie direkt kopieren Sie die beiden markierten Zeilen in das Feld "enthaltener Text" Feld: diese Linien werden umgewandelt als regexp für Sie von Eclipse.
Anderen Tipp, wie man die regex für einen ausgewählten block.
Öffnen Sie eine der Dateien enthält, die mehreren Leitungen (multiline) zu suchen oder zu ersetzen.
Klicken Sie auf Strg+F, und wählen Sie "Regulärer Ausdruck". Schließen Sie das Fenster Suchen/Ersetzen.
Wählen Sie den block, den Sie brauchen, und klicken Sie erneut Strg+F, um öffnen Sie das Fenster Suchen/Ersetzen.
Nun in das Textfeld "Suchen" haben Sie die regelmäßigen Ausdruck, die exakt auf Ihre Auswahl-block.
(Ich entdeckte diese, nur nach dem erstellen manuell eine regexp für sehr lange blockieren 🙂
STRG+H und dauert zwei Linien, wenn Sie regexp (und Sie nicht haben, um schreiben Sie die regexp-von sich selbst, eclipse übernimmt das für Sie).
Wenn der "Reguläre Ausdruck" wird bereits geprüft, eclipse umgewandelt haben, die beiden Linien, die Sie suchen in regexp für Sie ist, klicken Sie auf Suchen.
Wenn "Regulären Ausdruck", wenn nicht bereits überprüft", wählen Sie es und klicken Sie auf Abbrechen (eclipse merkt sich Ihre Wahl).
Einen quick-Tipp für darunter mehrere Zeilen, die als Teil einer manuell konstruierten regulären Ausdruck:
Wo Sie normalerweise verwenden würden
.*
soll die Entsprechung ein beliebiges Zeichen null oder mehrere Male, betrachten Sie stattdessen, mit so etwas wie(?:.|\r?\n)*
. Oder einen zusätzlichen?
am Ende zu machen, nicht gierig.Erklärung:
.
nicht mit neuen Linien, die so tun müssen, um ein "entweder-oder": Die Klammern entsprechend der.
bevor das Rohr oder der neuen Linie nach. Die?
nach\r
macht das Absatzende, bevor der Zeilenumbruch optional zu erlauben, Windows-oder Unix-neuen-Linien. Die?:
schließt die ganze Sache als eine capturing-group (die hilft zu vermeiden, ist ein stack-überlauf).publisher(?:.|\r?\n)*
es zeigt einen Fehler im dialog "Finden Sie Muster zu Komplex" Bearbeiten: hinzufügen das Fragezeichen am Ende als:publisher(?:.|\r?\n)*?
macht es Arbeit! Danke für den Tipp und regex-Erklärung.publisher(?:.|\r?\n)*?id
funktioniert, aberpublisher(?:.|\r?\n)*?identification
zeigt den FehlerWählen Sie den Ordner, der enthält alle Dateien und drücken Sie Strg+H.