1. 程式人生 > 其它 >notepad++ 正則表示式

notepad++ 正則表示式

注意:Notepad++正則表示式字串最長不能超過69個字元

\ 轉義字元 如:要使用 “\” 本身, 則應該使用“\”

\t Tab製表符 注:擴充套件和正則表示式都支援

\r 回車符CR 注:擴充套件支援,正則表示式不支援

\n 換行符LF 注:擴充套件支援,正則表示式不支援

\r*\n* 正則表示式可表示回車換行

. 匹配任意一個字元

^ 其右邊的表示式被匹配在行首。如:^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”;\r?\n匹配行結尾符

() 影響表示式匹配的順序(類似C++的小括號會影響表示式運算順序),並且用作表示式的分組標記(標記從1開始)如:([a-z]bc)smn\1匹配“tbcsmntbc”;另見:看下文的示例

{}

指定前面的字元或分組的出現次數 如:abc{3}匹配abccc;a(bc){2}匹配abcbc

\d 匹配一個數字字元。等價於:[0-9]

\D \d取反,匹配一個非數字字元。等價於:[^0-9]

\s 匹配任意單個空白字元:包括空格、製表符等(注:不包括換車符和換行符)。等價於:[ \t]

\S \s取反的任意單個字元。

\w 匹配包括下劃線的任意單個字元。等價於:[A-Za-z0-9_]

\W \w取反的任意單個字元。等價於:[^A-Za-z0-9_]

\b 匹配單詞起始處或結尾處 如:\bin匹配int,但不匹配sing


示例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. 選擇正則表示式 b. 查詢串:^[ \t]*$ 替換串:空

step2:a. 選擇擴充套件(\n,\r,\t,\0,\x...) b. 查詢串:\r\n\r\n 替換串:\r\n 注:多次點選替換,直到沒有可替換的字串


示例5

start="120"
start="720"

替換成

start=""
start=""

方法 -- 查詢串:start="[0-9]{2,3}" 替換串:start=""

查詢跨行的兩行,換行的地方可用\r\n表示


示例6

"id": "3",
"品牌": "華為",
"手機名稱": "華為A668",
"釋出會時間": "2001-3-3",
"上市日期": "2001-3-3",
"手機型別": "小靈通",
"機身材質": "",
"機身顏色": "",

替換成

"id": "3",
"品牌": "華為",
"手機名稱": "華為A668",
"釋出會時間": {"$date":"2001-3-3"},
"上市日期": {"$date":"2001-3-3"},
"手機型別": "小靈通",
"機身材質": "",
"機身顏色": "",

方法 -- 查詢串:("\d\d\d\d-\d+-\d+") 替換串:{"$date":\1}


解:
字串:amidb
查詢目標:a 和 b
方法:(a)mid(b)
\1 就代表 a
\2 就代表 b


自己可以繼續完善~~~