Die folgende Tutorial-Kolumne von Notepad stellt Ihnen die Suchfunktion von Notepad++ vor. Ich hoffe, dass sie Freunden, die sie benötigen, hilfreich sein wird!
notepad++s Suchfunktion (regulärer Ausdruck)
Wir wissen, dass Notepad++ ein sehr leistungsfähiger Editor ist, und ich glaube, dass Schüler ein unverzichtbares Werkzeug haben müssen für ihre Installation. Es bietet eine sehr benutzerfreundliche Unterstützung für die Textbearbeitung und -anzeige und verarbeitet auch größere Dateien sehr gut. Beispielsweise ist das während des Betriebs unseres Systems generierte Protokoll im Textformat normalerweise eine relativ große Datei. Im Allgemeinen können wir Notepad ++ verwenden, um die Protokolldatei schnell zu öffnen. Für Protokolldateien werden jedoch verschiedene Informationen von verschiedenen Orten aufgezeichnet, z. B. verschiedene Dienste, verschiedene Prozesse, verschiedene Threads, verschiedene Module usw. Wenn wir Protokolldateien analysieren, müssen wir manchmal, um ein Problem oder ein Problem mit einem verwandten Modul schnell zu lokalisieren, dessen Suchfunktion verwenden. Wir müssen bestimmte Schlüsselwörter abgleichen, um nach nützlichen Informationen zu suchen und relevante Protokollinhalte anzuzeigen. Was die Suchfunktion von Notepad++ betrifft, kann die Tastenkombination Strg+F das Suchfenster direkt aufrufen.
Wenn Sie das sehen, werden Sie bestimmt denken, dass man daraus etwas lernen kann! Haha, ja, der obige Inhalt ist allgemein bekannt und jeder kennt ihn. Wie Sie auf dem Bild oben sehen können, unterstützt Notepad++ jedoch drei Suchmodi:
Notepad++ Normal Ausdrucksmodus Dieser Modus unterstützt, genau wie der Name, die Suche mit regulären Ausdrücken. Sobald wir mit der Verwendung regulärer Ausdrücke vertraut sind, werden Sie sich meiner Meinung nach in diese Funktion der Verwendung von Notepad++ verlieben.
Gemeinsame Ausdrücke
Einige häufig verwendete Symbole für die Übereinstimmung regulärer Ausdrücke sind unten aufgeführt, um den Schülern das Finden und Lernen zu erleichtern.
Charakter | Beschreibung |
---|---|
. .
|
匹配任意一个字符 |
* |
匹配前面的字符0或多次,比如,ab* 匹配“a”,“ab”或“abb” |
+ |
匹配前面的字符1次或多次,比如,ab+ 匹配“ab”或“abb”,但不匹配“a” |
? |
匹配前面的字符0或者1次,比如,ab? 匹配“a”或“ab”,但不匹配“abb” |
{n} |
匹配前面的字符或分组 n 次,比如,ab{2}c 匹配 “abbc”. |
{m,n} |
匹配前面的字符或分组,最少m次,最多n次(若n为空,则代表任意次),比如,ab{2,3}c 匹配 “abbc” 或 “abbbc” |
^ |
右侧的表达式匹配在一行的开始,比如,^a 匹配以“a”开头的行 |
$ |
左侧的表达式被匹配在一行的结尾,比如,z$ 匹配以“z"结尾的行 |
[] |
匹配列表中任意单个字符,比如,[ab] 匹配“a”或“b”;[0-9] 匹配任意单个0-9的数字 |
[^] |
匹配列表外任意单个字符,比如,[^ab] 匹配“a”和“b”以外的单个字符 |
w |
匹配单个字符,包括下划线,相当于[A-Za-z0-9_]
|
W |
匹配非单个字符,相当于[^A-Za-z0-9_]
|
d |
匹配数字字符,相当于[0-9]
|
D |
匹配非数字字符,相当于[^0-9]
|
b |
匹配单词边界(开头或结尾),比如,bhe 匹配“hello”,但不匹配“ahello” |
B |
匹配非单词边界 |
| |
或运算符,匹配左边或者右边的表达式 |
s |
匹配空白格 |
S |
匹配非空白格 |
\ |
匹配字符
|
t |
匹配Tab制表符 |
r |
匹配回车符号 |
n |
匹配换行符号 |
rn | stimmt mit jedem Zeichen überein
ab*
stimmt mit „a“, „ab“ oder „abb“ überein. 🎜🎜🎜🎜 ab+
stimmt mit „ab“ oder „abb“ überein, stimmt aber nicht mit „a“ überein. 🎜🎜🎜🎜 ab?
Entspricht „a“ oder „ab“, aber nicht „abb“ 🎜🎜🎜🎜{n}
🎜🎜 Entspricht beispielsweise n-mal dem vorherigen Zeichen oder der vorherigen Gruppe , ab{2}c stimmt mit „abbc“ überein.🎜🎜🎜🎜{m,n}
🎜🎜stimmt mit dem vorherigen Zeichen oder der vorherigen Gruppe überein, mindestens m-mal und höchstens n-mal (wenn n leer ist, stellt es eine beliebige Anzahl von Malen dar), zum Beispiel stimmt ab{2,3}c
mit der rechten Seite von „abbc“ oder „abbbc“ überein🎜🎜🎜🎜^🎜🎜 Der Ausdruck stimmt mit dem Anfang einer Zeile überein, zum Beispiel ^a
stimmt mit einer Zeile überein, die mit „a“ beginnt 🎜🎜🎜🎜$
🎜🎜Der Ausdruck auf der linken Seite entspricht dem Ende einer Zeile, zum Beispiel z$
entspricht einer Zeile, die mit „z“ endet🎜🎜🎜🎜[]
🎜 🎜entspricht jedem einzelnen Zeichen in der Liste, zum Beispiel [ab]
entspricht „a“ oder „b“; [0-9]
entspricht jeder einzelnen Zahl 0-9 🎜🎜🎜🎜[^]
🎜🎜 Entspricht jedem einzelnen Zeichen außerhalb der Liste, zum Beispiel [^ab]
entspricht einem einzelnen Zeichen außer „a“ und „b“ 🎜🎜🎜🎜w
🎜🎜 entspricht einem einzelnen Zeichen. Zeichen, einschließlich Unterstrichen, entsprechen [A-Za-z0-9_]
🎜🎜🎜🎜W🎜🎜 entspricht nicht-einzelnen Zeichen, entspricht <code>[^A -Za-z0-9_]
🎜🎜🎜🎜d
🎜🎜 entspricht numerischen Zeichen, entspricht [0-9]
🎜🎜🎜🎜 D
🎜🎜 entspricht nicht numerischen Zeichen, äquivalent zu [^0-9]
🎜🎜🎜 🎜b
🎜🎜 entspricht Wortgrenzen (Anfang oder Ende). Beispielsweise entspricht bhe
„hello“, aber nicht „ahello“ 🎜🎜🎜🎜B🎜🎜 entspricht Nicht-Wortgrenzen🎜🎜🎜🎜<code>|
🎜🎜oder Operator, entspricht dem linken oder rechten Ausdruck🎜🎜🎜🎜s
🎜🎜entspricht leeren Zellen 🎜🎜🎜🎜S
🎜🎜entspricht nicht leeren Zellen🎜 🎜🎜🎜\
🎜🎜entspricht dem Zeichen
🎜🎜🎜🎜 t
🎜🎜entspricht dem Tabulatorzeichen 🎜🎜🎜🎜r🎜🎜entspricht dem Wagenrücklaufsymbol🎜🎜🎜🎜<code>n
🎜🎜entspricht dem Zeilenvorschubsymbol🎜🎜🎜 🎜rn
🎜🎜entspricht Wagenrücklauf und Zeilenvorschub🎜🎜🎜🎜Tagging und Gruppierung
Die oben genannten Symbole gelten für ein Zeichen oder für die Wiederholung eines Zeichens, aber was ist, wenn es mehrere Zeichen gibt? Wir müssen die Gruppierung verwenden. Sie können Klammern ()
verwenden, um den Gruppierungsausdruck anzugeben, zum Beispiel: (abc)?
bedeutet Übereinstimmung mit 0 oder 1 abc, wobei Ein Ausdruck in Klammern ist eine Gruppierung. Die Gruppierung kann in zwei Formen unterteilt werden: erfassende Gruppe und nicht erfassende Gruppe. Erfassende Gruppen können durch Zählen ihrer öffnenden Klammern von links nach rechts nummeriert werden; nicht erfassende Gruppen sind Gruppen, die mit (?) beginnen und keinen Text erfassen. ()
来指定分组表达式,例如:(abc)?
表示匹配0个或1个abc, 这里一个括号的表达式就是一个分组 。分组可以分为两种形式,捕获组和非捕获组。捕获组可以通过从左到右计算其开括号来编号;而非捕获组是以 (?) 开头的组,它不捕获文本。
字符
说明
(…)
一组捕获. 可以通过
1
访问第一个组, 2
访问第二个.
(?:…)
非捕获组.
(?=…)
非捕获组 – 向前断言. 例如
(.*)(?=ton)
表达式,当 遇到’Appleton’字符串时,会匹配为’Apple’.
(?
非捕获组 – 向后断言. 例如
(? 表示式,当遇到’sir William’ 字符串时,匹配为’ William’.
(?!…)
非捕获组 – 消极的向前断言. 例如
(?!e)
表达式,当遇到’Apple’时,会找到每个字母除了 ‘l’,因为它紧跟着 ‘e’.
(?
非捕获组 – 消极向后断言. 例如,
(?, 当遇到 ‘sir William’ 时,会匹配 ’ William’.
(?P<name>…)</name>
命名所捕获的组. 提交一个名称到组中供后续使用,例如
(?PA[^s]+)s(?P=first)
会匹配 ‘Apple Apple’. 类似于 (A[^s]+)s1
,不过使用的是组名而不是数字.
(?=name)
匹配名为name的组.
(?#comment)
Charakter
Beschreibung
Eine Gruppe von Captures. Auf die erste Gruppe kann über (…)
1
zugegriffen werden, auf die zweite über 2
.
(?:…)
Nicht erfassende Gruppe.
(?=…)
Nicht erfassende Gruppe Gruppe – zur Vorbehauptung. Wenn beispielsweise der Ausdruck (.*)(?=ton)
auf die Zeichenfolge „Appleton“ stößt, stimmt er mit „Apple“ überein.
(?<p><span style="font-family:微软雅黑;font-size:16px">Nicht erfassende Gruppe – Rückwärtszusicherung Zum Beispiel <code>(? Ausdruck, wenn auf „ Sir William ' Zeichenfolge, entspricht 'William'.<span style="font-family:微软雅黑;font-size:16px"><span style="font-family:微软雅黑;font-size:16px"><tr><td>
<code>(?!…)
Nicht erfassende Gruppe – negative Vorwärtsbehauptung. Zum Beispiel (?! e)
-Ausdruck findet bei der Begegnung mit „Apple“ jeden Buchstaben außer „l“, da ihm unmittelbar ein „e“ folgt.
(?< ;!. ..)
Nicht erfassende Gruppe – negative Rückwärtsbehauptung. Zum Beispiel (?, wenn 'sir William ' stimmt mit 'William' überein.
(?P<name>…)</name>
Benennen Sie die erfasste Gruppe zur späteren Verwendung, z. B. (?PA[^s]+)s(?P=first)
entspricht „Apple Apple“. Ähnlich wie (A[^s]+)s1
code> , verwendet aber den Gruppennamen anstelle einer Nummer.
(?=name)
stimmt mit einer Gruppe mit dem Namen name. überein (?#comment)
Comment – Inhalte in Klammern werden beim Abgleich ignoriert. 🎜🎜🎜🎜🎜🎜Aufmerksame Schüler werden auf jeden Fall feststellen, dass neben der Suchfunktion, die reguläre Ausdrücke unterstützt, auch die Ersetzungsfunktion von Notepad++ reguläre Ausdrücke unterstützt. Die oben genannten Symbole gelten auch für Ersetzungen. 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung der Suchfunktion von Notepad++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!