Heim >Entwicklungswerkzeuge >Notizblock >Über die Ersetzungszeichenfolge für reguläre Ausdrücke in Notepad++

Über die Ersetzungszeichenfolge für reguläre Ausdrücke in Notepad++

藏色散人
藏色散人nach vorne
2020-12-02 15:02:205653Durchsuche

Die folgende Tutorial-Kolumne von Notepad stellt Ihnen die Methode zum Ersetzen von Zeichenfolgen durch reguläre Ausdrücke in Notepad++ vor. Ich hoffe, dass sie Freunden, die sie benötigen, hilfreich sein wird!

Über die Ersetzungszeichenfolge für reguläre Ausdrücke in Notepad++

Der reguläre Ausdruck ist eine Abfragezeichenfolge, die allgemeine Zeichen und einige Sonderzeichen enthält. Die Funktion regulärer Ausdrücke beim Suchen und Ersetzen von Zeichenfolgen kann erheblich verbessert werden Arbeitseffizienz.

Das Suchen, Ersetzen und Suchen in Dateien von EditPlus unterstützt die folgenden regulären Ausdrücke:

表达式 说明 
 /t 制表符. 
 /n 新行. 
 . 匹配任意字符. 
 | 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc". 
 [] 匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字. 
 [^] 匹配列表之外的任何单个字符. 例如, "[^ab]" 匹配 "a" 和 "b" 以外的字符. "[^0-9]" 匹配任意非数字字符. 
 * 其左边的字符被匹配任意次(0次,或者多次). 例如 "be*" 匹配 "b", "be" 或者 "bee". 
 + 其左边的字符被匹配至少一次(1次,或者多次). 例如 "be+" 匹配 "be" 或者 "bee" 但是不匹配 "b". 
 ? 其左边的字符被匹配0次或者1次. 例如 "be?" 匹配 "b" 或者 "be" 但是不匹配 "bee". 
 ^ 其右边的表达式被匹配在一行的开始. 例如 "^A" 仅仅匹配以 "A" 开头的行. 
 $ 其左边的表达式被匹配在一行的结尾. 例如 "e$" 仅仅匹配以 "e" 结尾的行. 
 () 影响表达式匹配的顺序,并且用作表达式的分组标记. 
 / 转义字符. 如果你要使用 "/" 本身, 则应该使用 "//".

Beispiel:

原始串 
str[1]abc[991]; 
str[2]abc[992]; 
str[11]abc[993]; 
str[22]abc[994]; 
str[111]abc[995]; 
str[222]abc[996]; 
str[1111]abc[997]; 
str[2222]abc[999];
目标串: 
 abc[1]; 
 abc[2]; 
 abc[11]; 
 abc[22]; 
 abc[111]; 
 abc[222]; 
 abc[1111]; 
 abc[2222];

Verarbeitung:
Suchzeichenfolge: str/[([0-9]+)/]abc/[[ 0 -9]+/]
Ersatzzeichenfolge: abc[/1]

1. Zeile mit „Hallo Wort“

^.*Hallo Wort.*$

2. Beginnen Sie mit „Hallo Wort“ Die Zeile

^Hallo Wort.*$

3. Die Zeile, die mit „Hallo Wort“

.*Hallo Wort$

endet, wird ersetzt durch:

Find target n([a-zA - Z0-9])

oder r([a-zA-Z0-9])

Ersetzen Sie das Ziel $1 (die neue Zeile vor http wird zu „,“ und fügen Sie dann weitere hinzu)

【1】Reguläre Ausdrücke anwenden - Ersetzen Sie den angegebenen Inhalt bis zum Ende der Zeile.
Der Originaltext besteht aus zwei Zeilen:
abc aaaaa
123 abc 444
Ich hoffe, dass jedes Mal, wenn „abc“ angetroffen wird, „abc“ und Die folgenden Zeilen werden ersetzt. Der Inhalt am Ende ist „abc efg“
Das heißt, der obige Text wird schließlich ersetzt durch:
abc efg
123 abc efg
Lösung:
① Geben Sie im Ersetzungsdialogfeld „abc“ ein. *“ im Suchinhalt
② Aktivieren Sie gleichzeitig das Kontrollkästchen „Regulärer Ausdruck“ und klicken Sie dann auf die Schaltfläche „Alle ersetzen“.
Darunter ist die Bedeutung der Symbole wie folgt:
„= Entspricht einem beliebigen Zeichen
„*“ = 0 Mal oder öfter übereinstimmen
Hinweis: Es handelt sich tatsächlich um einen Ersatz durch reguläre Ausdrücke. Hier ist nur eine Zusammenfassung einiger der Probleme, die aufgeworfen wurden. Einfach ausgedrückt, können Tausende von Sonderfällen auftreten abgeleitet werden.
【2】Anwendung für reguläre Ausdrücke – Zahlenersetzung
Ich hoffe,
asdadas123asdasdas456asdasdasd789asdasd
zu ersetzen durch:
asdadas[123]asdasdas[456]asdasdasd[789]asdasd
Aktivieren Sie im Ersetzungsdialogfeld das komplexe Auswahlfeld „Regulärer Ausdruck“.
Geben Sie „[0-9][0-9][0-9]“ in den Suchinhalt ein, ohne Anführungszeichen.
Geben Sie „[/0/1/2]“ in „Ersetzen durch:“ ein, ohne Anführungszeichen
Der Bereich ist der Bereich, in dem Sie tätig sind, und Sie können ihn dann ersetzen.
Tatsächlich ist dies auch ein Sonderfall regulärer Ausdrücke. „[0-9]“ bedeutet die Übereinstimmung mit jedem Sonderfall zwischen 0 und 9. Ebenso bedeutet „[a-z]“ die Übereinstimmung mit jedem Sonderfall zwischen a~z
Wiederholen Sie das oben wird „[0-9]“ verwendet, um drei aufeinanderfolgende Zahlen darzustellen
„/0“ stellt den Prototyp dar, der dem ersten „[0-9]“ entspricht, „/1“ stellt das zweite „[0-9“]“ dar. entsprechender Prototyp usw.
„[“, „]“ sind einfache Zeichen, was bedeutet, dass „[“ oder „]“ hinzugefügt wird. Wenn Sie „Other/0/1/2Other“ eingeben, lautet das Ersetzungsergebnis:
asdadas other 123 andere asdasdas andere 456 andere asdasdasd andere 789 andere asdasd
Funktionserweiterung (von jiuk2k):
Wenn Sie den Suchinhalt „[0-9][0-9][0-9]“ in „[0- 9]“ ändern *[0-9]“, entsprechend 1 oder 123 oder 12345 oder...
Sie können es an Ihre Bedürfnisse anpassen
Es gibt viele verwandte Inhalte, Sie können sie sorgfältig studieren, indem Sie sich auf die Syntax regulärer Ausdrücke beziehen
[3] Anwendung regulärer Ausdrücke – – Löschen Sie die angegebenen Zeichen am Ende jeder Zeile.
Da diese Zeichen auch in der Zeile vorkommen, kann dies sicherlich nicht durch einfaches Ersetzen erreicht werden.
Zum Beispiel:
12345 1265345
2345
Sie benötigen Um die „345“ am Ende jeder Zeile zu löschen
Auch dies Um die Verwendung regulärer Ausdrücke zu berechnen, sollte es relativ einfach sein, sich die regulären Ausdrücke genau anzusehen. Da diese Frage jedoch aufgeworfen wird, bedeutet dies, dass es einen Prozess gibt Um reguläre Ausdrücke zu verstehen, lautet die Lösung wie folgt:
Lösung:
Aktivieren Sie im Ersetzungsdialogfeld das Kontrollkästchen „Regulärer Ausdruck“.
Geben Sie „345$“ in den Suchinhalt ein.
Hier bedeutet „$“ den Abgleich vom Zeilenende aus.
Wenn Sie vom Anfang der Zeile an übereinstimmen, können Sie dies mit „^“ erreichen, aber EditPlus verfügt über eine andere Funktion. Es ist sehr einfach, die Zeichenfolge am Anfang der Zeile zu löschen
a
b. Bearbeiten – Formatieren – Zeilenkommentar löschen
c. Geben Sie das Zeichen am Anfang der zu löschenden Zeile in das Popup-Dialogfeld ein und bestätigen Sie
[4] Anwendung der regulären Ausdrucksformel – Ersetzen Sie mehrere Zeilen durch Halbwinkel Klammern
Hunderte von Webseiten haben den folgenden Code:
/n
Aktivieren Sie die Option „Regulärer Ausdruck“ im Ersetzungsdialogfeld, dann können Sie die Ersetzung abschließen
[5 ]Anwendung regulärer Ausdrücke – Leerzeilen löschen
Starten Sie EditPlus und öffnen Sie die zu verarbeitende Texttypdatei.
① Wählen Sie im Menü „Suchen“ den Befehl „Ersetzen“, um das Dialogfeld zum Ersetzen von Text aufzurufen. Aktivieren Sie das Kontrollkästchen „Regulärer Ausdruck“, um anzugeben, dass wir beim Suchen und Ersetzen reguläre Ausdrücke verwenden möchten. Wählen Sie dann „Aktuelle Datei“ unter „Ersetzungsbereich“ aus, um den Vorgang für die aktuelle Datei anzugeben.
② Klicken Sie auf die Schaltfläche auf der rechten Seite des Kombinationsfelds „Inhalt suchen“. Daraufhin wird ein Dropdown-Menü angezeigt.
③ Die folgende Operation fügt einen regulären Ausdruck hinzu, der die zu findende leere Zeile darstellt. (Tipp: Leerzeilen enthalten nur Leerzeichen, Tabulatorzeichen und Wagenrücklaufzeichen und müssen mit einem dieser drei Symbole als Zeile beginnen und mit einem Wagenrücklaufzeichen enden. Der Schlüssel zum Auffinden von Leerzeilen besteht darin, eine Darstellung von zu erstellen eine Leerzeile.
Geben Sie den regulären Ausdruck „^[ /t]*/n“ direkt in „Suchen“ ein. Beachten Sie, dass vor /t ein Leerzeichen steht.
(1) Wählen Sie „Ab dem Zeilenanfang abgleichen“ und das Zeichen „^“ erscheint im Kombinationsfeld „Inhalt suchen“, was darauf hinweist, dass die zu findende Zeichenfolge am Anfang einer Zeile im Text erscheinen muss.
(2) Wählen Sie „Zeichen im Bereich“, dann wird nach „^“ ein Klammerpaar „[]“ eingefügt und der aktuelle Einfügepunkt befindet sich in den Klammern. Klammern werden in regulären Ausdrücken dargestellt. Wenn die Zeichen im Text mit einem der Zeichen in den Klammern übereinstimmen, erfüllen sie die Suchbedingungen.
(3) Drücken Sie die Leertaste, um ein Leerzeichen hinzuzufügen. Das Leerzeichen ist Bestandteil einer Leerzeile.
(4) Wählen Sie „Tab“ und fügen Sie „/t“ hinzu, das das Tabulatorzeichen darstellt.
(5) Bewegen Sie den Cursor, verschieben Sie die aktuelle Einfügemarke nach „]“ und wählen Sie dann „0 oder mehr Mal übereinstimmen“. Durch diesen Vorgang wird das Sternchen „*“ hinzugefügt. Das Sternchen bedeutet, dass in den Klammern „[]“ davor in einer Zeile 0 oder mehr Leerzeichen oder Tabulatoren stehen.
(6) Wählen Sie „Zeilenvorschub“ und fügen Sie „/n“ ein, um das Wagenrücklaufzeichen darzustellen.
④. Lassen Sie das Kombinationsfeld „Ersetzen durch“ leer, was bedeutet, dass der gefundene Inhalt gelöscht wird. Klicken Sie auf die Schaltfläche „Ersetzen“, um leere Zeilen einzeln zu löschen, oder klicken Sie auf die Schaltfläche „Alle ersetzen“, um alle leeren Zeilen zu löschen (Hinweis: EditPlus hat manchmal das Problem, dass „Alle ersetzen“ leere Zeilen nicht vollständig auf einmal löschen kann. Möglicherweise ein Programmfehler sein. Drücken Sie die Taste mehrmals.
1. Beim Übersetzen ins Chinesische stoßen Sie oft auf Sätze wie diesen, die übersetzt werden müssen:
„Fehler beim Hinzufügen des Beitrags!“;
„Fehler beim Hinzufügen des Benutzers!“; ;
Wenn es viele ähnliche Dokumente gibt und sie einzeln zu übersetzen ist, ist das offensichtlich ermüdend und langweilig.
Tatsächlich kann es so gehandhabt werden: Verwenden Sie die Ersetzungsfunktion in Editplus und aktivieren Sie das Kontrollkästchen „Regulärer Ausdruck“ im Ersetzungsdialogfeld:
Suchen Sie die Originaldatei:
Code:
„Fehler beim Hinzufügen ([^!| "|;]*)
Ersetzt durch:
Code:
„Beim Hinzufügen von /1 ist ein Fehler aufgetreten.
Was ist nach dieser Ersetzung passiert? Das Ergebnis ist:
Code:
„Beim Hinzufügen des Beitrags ist ein Fehler aufgetreten!“;
„ Beim Hinzufügen des Kommentars ist ein Fehler aufgetreten. Fehler!“;
„Beim Hinzufügen des Benutzers ist ein Fehler aufgetreten!“;
Ok, was werden Sie als Nächstes tun? Ersetzen Sie natürlich den Beitrag, den Kommentar und den Benutzer durch die gewünschten Wörter zum Übersetzen. Erhalten Sie das Endergebnis:
„Beim Hinzufügen eines Beitrags ist ein Fehler aufgetreten!“;
„Beim Hinzufügen eines Benutzers ist ein Fehler aufgetreten!“; Das zu extrahierende Wort steht in der Mitte, zum Beispiel:

Code: 
 can not be deleted because 
 can not be added because 
 can not be updating because

可以用这种方式: 
在Editplus里面用 替换 功能,在替换对话框选中“正则表达式”复选框: 
查找原文件: 
Code: 
can not be ([^ ]*) because 
替换成: 
Code: 
无法被/1因为 
这样替换之后发生了什么?结果是: 
Code: 
无法被deleted因为 
无法被added因为 
无法被updating因为 
其余步骤如上。 
在汉化量很大而且句式比较单调的情况下对效率的提高很明显! 
解释一下:([^!|"|;]*) 的意思是 不等于 ! 和 ” 和 ; 中的任何一个,意思就是这3个字符之外的所有字符将被选中(替换区域); 
/1 即被选中的替换区域所在的新位置(复制到这个新位置)。 
3.经常手工清理一行一行地删除文本文件里面的空白行,其实可以交给Editplus更好的完成,在Editplus里面用替换功能,在替换对话框选中 “正则表达式”复选框: 
查找原文件: 
Code: 
^[ /t]*/n 
替换部分为空就可以删除空白行了,执行一下看看:) 
abandon[2''b9nd2n]v.抛弃,放弃 
abandonment[2''b9nd2nm2nt]n.放弃 
abbreviation[2bri:vi''ei62n]n.缩写 
abeyance[2''bei2ns]n.缓办,中止 
abide[2''baid]v.遵守 
ability[2''biliti]n.能力 
able[''eibl]adj.有能力的,能干的 
abnormal[9b''n0:m2l]adj.反常的,变态的 
aboard[2''b0:d]adv.船(车)上 

1. 
查找: (^[a-zA-Z0-0/-]+)(/[*.*/]+)(.*) 
替换: @@@@@”/1″,”/2″,”/3″, 
效果: 
@@@@@”abandon”,”[2''b9nd2n]“,”v.抛弃,放弃”, 
@@@@@”abandonment”,”[2''b9nd2nm2nt]“,”n.放弃”, 
@@@@@”abbreviation”,”[2bri:vi''ei62n]“,”n.缩写”, 
@@@@@”abeyance”,”[2''bei2ns]“,”n.缓办,中止”, 
@@@@@”abide”,”[2''baid]“,”v.遵守”, 
@@@@@”ability”,”[2''biliti]“,”n.能力”, 
@@@@@”able”,”[''eibl]“,”adj.有能力的,能干的”, 
@@@@@”abnormal”,”[9b''n0:m2l]“,”adj.反常的,变态的”, 
@@@@@”aboard”,”[2''b0:d]“,”adv.船(车)上”, 

2. 
查找: /n 
替换: 
注: 要次替换内容为空 
效果: 
@@@@@”abandon”,”[2''b9nd2n]“,”v.抛弃,放弃 ”,@@@@@”abandonment”,”[2''b9nd2nm2nt]“,”n.放弃 ”,@@@@@”abbreviation”,”[2bri:vi''ei62n]“,”n.缩写 ”,@@@@@”abeyance”,”[2''bei2ns]“,”n.缓办,中止”,@@@@@”abide”,”[2''baid]“,”v.遵守 ”,@@@@@”ability”,”[2''biliti]“,”n.能力”,@@@@@”able”,”[''eibl]“,”adj.有能力的,能 干的 ”,@@@@@”abnormal”,”[9b''n0:m2l]“,”adj.反常的,变态的 ”,@@@@@”aboard”,”[2''b0:d]“,”adv.船(车)上”,@@@@@”abolish”,”[2''b0li6]“,”v.废 除,取消”,@@@@@”abolition”,”[9b2''li62n]“,”n.废除,取消” 

3. 
查找: @@@@@ 
替换: /n 
效果: 
“abandon”,”[2''b9nd2n]“,”v.抛弃,放弃”, 
“abandonment”,”[2''b9nd2nm2nt]“,”n.放弃”, 
“abbreviation”,”[2bri:vi''ei62n]“,”n.缩写”, 
“abeyance”,”[2''bei2ns]“,”n.缓办,中止”, 
“abide”,”[2''baid]“,”v.遵守”, 
“ability”,”[2''biliti]“,”n.能力”, 
“able”,”[''eibl]“,”adj.有能力的,能干的”, 
“abnormal”,”[9b''n0:m2l]“,”adj.反常的,变态的”, 
“aboard”,”[2''b0:d]“,”adv.船(车)上”, 
“abolish”,”[2''b0li6]“,”v.废除,取消”, 

4. 任务完成

一、删除空行(不包括有空格类符号的空行) 
1、\r\n转义符替换 
按ctrl+h,跳出搜索替换框,把查找模式定义为扩展(\n,\r...) 
查找目标:\r\n\r\n 
替换为:\r\n

有编程基础的读者应该知道是什么意思了。

2、Textfx插件 
先选中要删部分文本内容,如果是整个文件那就全选Ctrl+A,然后使用Notepad++自带的Textfx插件,在长长的列表中找到Delete Blank Lines,点击即可。

Beachten Sie, dass die regulären Ausdrücke von Notepad++ nicht mit Escape-Zeichen usw. kompatibel sind, daher große Einschränkungen haben und nicht direkt durch reguläre Ausdrücke ersetzt werden können.

2. Leere Zeilen mit Leerzeichen löschen
1. Zuerst Leerzeichen löschen, dann leere Zeilen löschen
Wie lösche ich Zeilen, die nur Leerzeichen enthalten?
Suchen Sie im Menü Bearbeiten nach Leeroperationen (Zeilenbearbeitung), klicken Sie, um das Leerzeichen am Ende der Zeile zu entfernen, und verwenden Sie dann die oben beschriebene Methode, um die Leerzeile zu löschen.

2. Verwenden Sie reguläre Ausdrücke, um Leerzeilen und Leerzeichen zu löschen.
Wählen Sie den regulären Ausdruck ^ + $ für den Suchmodus in Ersetzen aus, ersetzen Sie ihn durch nichts (d. h. füllen Sie nichts aus) und verwenden Sie dann die oben beschriebene Methode, um zu löschen leere Zeilen.

Das obige ist der detaillierte Inhalt vonÜber die Ersetzungszeichenfolge für reguläre Ausdrücke in Notepad++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen