Notepad++Regex文法
\ 逸出字元 如:要使用 “\” 本身, 則應該使用“\\”
\t Tab定位字元 註:擴充和Regex都支援
\r 斷行符號符CR 註:擴充支援,Regex不支援
\n 分行符號LF 註:擴充支援,Regex不支援
. 匹配任一字元
^ 其右邊的運算式被匹配在行首。如:^A匹配以“A”開頭的行
$ 其左邊的運算式被匹配在行尾。如:e$匹配以“e”結尾的行
| 或運算子,匹配運算式左邊和右邊的字串。如: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”
() 影響運算式匹配的順序(類似C++的小括弧會影響運算式運算順序),並且用作運算式的分組標記(標記從1開始)註:看下文的樣本
\d 匹配一個數字字元。等價於:[0-9]
\D \d取反,匹配一個非數字字元。等價於:[^0-9]
\s 匹配任意單個空白字元:包括空格、定位字元等(註:不包括換車符和分行符號)。等價於:[ \t]
\S \s取反的任意單個字元。
\w 匹配包括底線的任意單個字元。等價於:[A-Za-z0-9_]
\W \w取反的任意單個字元。等價於:[^A-Za-z0-9_]
樣本1
123abcfg
abc
abcd
替換成:
123hello
hello
hello
方法 -- 尋找串:abc.*$ 替換串:hello
樣本2
123abcfg
abc
abcd
替換成:
123@abcfg@
@abc@
@abcd@
方法 -- 尋找串:(abc.*)$ 替換串:@\1@
樣本3
str[1]abc[991]
str[2]abc[992]
str[11]abc[993]
str[222]abc[996]
替換成
god[991]
god[992]
god[993]
god[996]
方法1 -- 尋找串:str\[[0-9]+\]abc\[([0-9]+)\] 替換串:god[\1]
方法2 -- 尋找串:str\[([0-9]+)\]abc\[([0-9]+)\] 替換串:god[\2]
樣本4 刪除所有空行
step1:a. 選擇Regex b. 尋找串:^[ \t]*$ 替換串:空
step2:a. 選擇擴充(\n,\r,\t,\0,\x...) b. 尋找串:\r\n\r\n 替換串:\r\n 註:多次點擊替換,直到沒有可替換的字串