詳解notepad++的搜索功能

下面由notepad教程欄目給大家介紹notepad++的搜索功能,希望對(duì)需要的朋友有所幫助!詳解notepad++的搜索功能

notepad的搜索功能(正則表達(dá)式

我們知道notepad++是一個(gè)非常強(qiáng)大的編輯器,相信同學(xué)們一定是裝機(jī)必備的一個(gè)工具。它對(duì)文本的編輯和查看有著非常友好的支持能力,對(duì)較大文件的處理也非常的不錯(cuò)。例如,我們系統(tǒng)運(yùn)行的過程中生成的文本格式的日志,它通常是一個(gè)比較大的文件,一般我們可以使用notepad++快速打開日志文件。不過,對(duì)于日志文件來說,里面會(huì)記錄各種來個(gè)不同地方的信息,比如,各種服務(wù),各種進(jìn)程,各種線程,各種模塊等等。在我們分析日志文件是,有時(shí)要快速定位到問題或者某個(gè)相關(guān)模塊的問題,就需要用到它的搜索功能,我們需要匹配特定的關(guān)鍵字進(jìn)行搜索有用信息,查看相關(guān)的日志內(nèi)容。關(guān)于notepad++搜索功能,直接快捷鍵Ctrl+F就可以直接調(diào)出搜索窗口了。

詳解notepad++的搜索功能

看到這里你一定會(huì)覺得這個(gè)有什么好學(xué)習(xí)的呀!哈哈,沒錯(cuò),上面這些內(nèi)容大家都是知道的常識(shí)。不過,從上面的圖上大家可以發(fā)現(xiàn),notepad++支持三種搜索模式:

  • 正常模式
  • 擴(kuò)展模式
  • 正則表達(dá)式模式

notepad++的正則表達(dá)模式,就像他的名字一樣,這個(gè)模式支持使用正則表達(dá)式搜索,當(dāng)我們熟悉了正則表達(dá)式的使用后,相信你就會(huì)愛上使用notepad++的這個(gè)功能。

常用表達(dá)式
下面列出了一些常用的正則表達(dá)式匹配符號(hào),便于各位同學(xué)查找和學(xué)習(xí)。

字符 說明
. 匹配任意一個(gè)字符
* 匹配前面的字符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”
^ 右側(cè)的表達(dá)式匹配在一行的開始,比如,^a匹配以“a”開頭的行
$ 左側(cè)的表達(dá)式被匹配在一行的結(jié)尾,比如,z$匹配以“z”結(jié)尾的行
[] 匹配列表中任意單個(gè)字符,比如,[ab]匹配“a”或“b”;[0-9]匹配任意單個(gè)0-9的數(shù)字
[^] 匹配列表外任意單個(gè)字符,比如,[^ab]匹配“a”和“b”以外的單個(gè)字符
w 匹配單個(gè)字符,包括下劃線,相當(dāng)于[A-Za-z0-9_]
W 匹配非單個(gè)字符,相當(dāng)于[^A-Za-z0-9_]
d 匹配數(shù)字字符,相當(dāng)于[0-9]
D 匹配非數(shù)字字符,相當(dāng)于[^0-9]
 匹配單詞邊界(開頭或結(jié)尾),比如,he匹配“hello”,但不匹配“ahello”
B 匹配非單詞邊界
| 運(yùn)算符,匹配左邊或者右邊的表達(dá)式
s 匹配空白格
S 匹配非空白格
匹配字符
匹配Tab制表符
匹配回車符號(hào)
匹配換行符號(hào)
匹配回車換行

標(biāo)記和分組

上面的符號(hào)是對(duì)一個(gè)字符或重復(fù)一個(gè)字符的情況,但是,如果是多個(gè)字符怎么辦呢?我們就需要用到分組了,關(guān)于分組可以使用小括號(hào)()來指定分組表達(dá)式,例如:(abc)? 表示匹配0個(gè)或1個(gè)abc, 這里一個(gè)括號(hào)的表達(dá)式就是一個(gè)分組 。分組可以分為兩種形式,捕獲組和非捕獲組。捕獲組可以通過從左到右計(jì)算其開括號(hào)來編號(hào);而非捕獲組是以 (?) 開頭的組,它不捕獲文本。? ? ? ?

字符 說明
(…) 一組捕獲. 可以通過 訪問第一個(gè)組,  訪問第二個(gè).
(?:…) 非捕獲組.
(?=…) 非捕獲組 – 向前斷言. 例如(.*)(?=ton) 表達(dá)式,當(dāng) 遇到’Appleton’字符串時(shí),會(huì)匹配為’Apple’.
(? 非捕獲組 – 向后斷言. 例如(?
(?!…) 非捕獲組 – 消極的向前斷言. 例如(?!e) 表達(dá)式,當(dāng)遇到’Apple’時(shí),會(huì)找到每個(gè)字母除了 ‘l’,因?yàn)樗o跟著 ‘e’.
(? 非捕獲組 – 消極向后斷言. 例如, (?
(?P…) 命名所捕獲的組. 提交一個(gè)名稱到組中供后續(xù)使用,例如(?PA[^s]+)s(?P=first) 會(huì)匹配 ‘Apple Apple’. 類似于 (A[^s]+)s ,不過使用的是組名而不是數(shù)字.
(?=name) 匹配名為name的組.
(?#comment) 批注 –括號(hào)中的內(nèi)容在匹配時(shí)將被忽略。

細(xì)心的同學(xué)一定會(huì)發(fā)現(xiàn),除了搜索功能支持正則表達(dá)在外,notepad++的替換功能同樣也是支持正則表達(dá)式的。上面的這些符號(hào)在替換中也是同樣適用的。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊7 分享