K 正規表示式之基礎簡介

2022-03-09 17:17:37 字數 2447 閱讀 8086

正規表示式(regular expression 簡稱regex)是一種工具,和其它工具一樣是為了解決某一類問題而發明的。正規表示式是一些用來匹配和處理文字的字串。平時主要用於查詢和替換符合相應模式的文字,而該模式,就是由正規表示式所定義。需要注意的是,使用正規表示式對字串進行匹配,正規表示式的編寫方案並不是唯一的,同乙個問題,往往會有多種方案。同時,需要注意的是正規表示式的語法是區分大小寫的即\d和\d表示的是不同的意思。

正規表示式的特殊字元及其含義如下:

a-z:匹配從a到z的所有大寫字母

a-z:匹配從a到z的所有小寫字母

a-f:匹配從a到f的所有大寫字母

a-z:匹配從ascii字元a到ascii字元z的所有字母,該模式不常用,因為其還包含著[和^等在ascii字元表裡排列在z和a之間的字元。可以在乙個字元集合中給出多個字元區間,例如[a-za-z0-9]表示所有的數字和大小寫字母

同時,可以使用[^]用於表示需要匹配的字元不在該定義的集合區間中。當要匹配「」本身的時候,需要使用\來對其進行轉義,即\[\]的形式表示本身。

ps:對於轉義字元\,若要表示該字元本身,需要使用\\來表示

\f用來匹配乙個換頁符

\n用來匹配乙個換行符

\r用來匹配乙個回車符

\t用來匹配乙個製表符

\v用來匹配乙個垂直製表符

需要注意的是,\r\n是windows所使用的文字行結束標籤,unix和linux系統只使用乙個換行符來結束乙個文字行;換句話說,在unix/linux系統上匹配空白行只用\n即可,不需要加上\r。還有一點是,f、n、r、t、v等字元本身是普通的字元,當用其來匹配空白符的時候,需要對其進行轉義。

\d用於匹配任意乙個數字,其等價於[0-9]

\d用於匹配任意乙個非數字字元,其等價於[^0-9]

\w用於匹配任意乙個字母字元(包括大小寫)和數字字元或下劃線字元,等價於[0-9a-za-z_]

\w用於匹配任意乙個非字母(包括大小寫)數字或下劃線字元,等價於[^0-9a-za-z_]

\s用於匹配任意乙個空白字元,等價於[\f\n\r\t\v]

\s用於匹配任意乙個非空白字元,等價於[^\f\n\r\t\v]

\x用於匹配某個特定字元的十六進製制,例如\x0a對應於ascii碼字元10,其效果等價於\n

\0用於匹配某個特定字元的八進位制,例如\011對應於ascii碼中的字元9,其等價於\t

[:alnum:]用於匹配任意乙個字母或數字(等價於[a-za-z0-9])

[:alpha:]用於匹配任意乙個字母(等價於[a-za-z])

[:blank:]用於匹配空格或製表符(等價於[\t ]注意的是,t後面有乙個空格)

[:cntrl:]用於匹配ascii碼控制字元(ascii碼0到31,再加上ascii碼127)

[:digit:]用於匹配任意乙個數字(等價於[0-9])

[:print:]用於匹配任意乙個可列印字元

[:graph:]和[:print:]一樣,但是不包括空格

[:lower:]用於匹配任意乙個小寫字母(等價於[a-z])

[:upper:]用於匹配任意乙個大寫字母(等價於[a-z])

[:punct:]用於匹配既不屬於[:alnum:]也不屬於[:cntrl:]的任何乙個字元

[:space:]用於匹配任意乙個空白符,包括空格(等價於[^\f\n\r\t\v ]v後面還有乙個空格)

[:xdigit:]用於匹配任何乙個十六進製制數字(等價於[a-fa-f0-9])

+用於匹配前乙個字元乙個或者多個,至少匹配乙個,不匹配零個字元的情況。如果要匹配+本身這個字元,需要對該字元進行轉義即\+用於表示「+」這個字元本身。

*用於匹配零個或多個字元,如果要匹配*本身,需要對該字元進行轉義,即\*表示字元「\*」本身。

?用於匹配乙個字元的零個或者乙個,最多不能超過乙個。如果要匹配字元?本身,則需要對字元?進行轉義,即\?表示匹配字元「?」本身。

用於匹配前乙個字元m次,且必須是m次,少一次都不能進行匹配,需要注意的是,要匹配字元「」,需要對其進行轉義,即\用於匹配「」字元本身。

用於匹配前乙個字元最少m次,最多n次。

用於匹配前乙個字元至少m次,即匹配m次或理論上得無限次。

\b用來匹配乙個單詞的開始或結尾。需要注意的是,如果想匹配乙個完整的單詞,則必須在需要進行匹配的單詞前後均加上乙個\b。例如:\bcat\b用於匹配單詞cat,而無法匹配scatter。而且需要注意的是,\b只是對位置進行匹配,而不匹配任何字元。

\b用於表明不匹配乙個單詞的邊界即字母數字下劃線之間,或者非字母數字下劃線之間

用於匹配字串的開頭,即整個文字的開頭。當要匹配字元本身的時候,需要對其進行轉義處理,即\^用於匹配字元「^」本身

\(用於匹配字串的結尾,即整個文字的結尾。當要匹配字元\)本身的時候,需要對其進行轉義處理,即$用於匹配字元「$」本身

回到目錄|·(工)·)

js基礎 正規表示式簡介

正規表示式用於定義一些字串的規則,計算機可以根據正規表示式,來檢查乙個字串是否符合規則,或者將字串中符合規則的內容提取出來。語法 var 變數 new regexp 正規表示式 匹配模式 使用typeof檢查正規表示式物件,會返回object 在建構函式中可以傳遞乙個匹配模式作為第二個引數,可以是 ...

正規表示式簡介

乙個正規表示式就是乙個模式,由與文字進行匹配的字串行組成。正規表示式有著廣泛的應用 grep sed vim make等等,某些指令碼語言如perl等更是將正規表示式納入語言內部。正規表示式由原子和運算子組成。最簡單的原子是單個字元,如果乙個正規表示式由單個字元組成,則該字元必須出現在目標文字的某處...

正規表示式簡介

1.正規表示式 regular expression 是一種文字模式,包括普通字元 例如,a到z之間的字母 和特殊字元 稱為 元字元 2.正規表示式使用單個字串來描述,匹配一系列匹配某個句法規則的字串 3.萬用字元 1 萬用字元匹配檔名中的單個字元 像data?dat這樣的模式將查詢下列檔案 dat...