描述了一種字串匹配的模式。可以用來檢查乙個串是否包含有某個子串,將匹配的子串替換、從某個串中取出符合條件的子串等普通字元
[abc]
匹配[...]中所有的字元
[^abc]
匹配除了[...]中字元的所有字元
[a-z]
表示乙個區間,匹配所有大寫字母,[a-z]表示所有小寫字母
.匹配除了換行符(\n、\r) 之外的任何單個字元,相當於/[^\n\r]/
[\s\s]
匹配所有,\s 是匹配所有空白符、包括換行,
\s 非空白符,不包括換行
\w匹配字母、數字、下劃線。等價於[a-za-z0-9_]
特殊字元
$匹配輸入字串的結尾位置
()標記乙個子表示式的開始和結束位置
? 等於0 或1 次
表示前面的字元最多隻出現一次(0次或1次)
^匹配輸入字串的開始位置,除非在放括號表示式中使用,當該符號在方括號表示式中使用是,表示不接受該方括號表示式的字元集合,
匹配前面的子表示式 一次或多次,例如,zo+ 能匹配zo和zoo 但是不能匹配z 等價於
?匹配前面的子表示式零次或1次,例如 do(es)? 可以匹配do、does、doxy ? 等價於
n是個非負整數,匹配確定的n 次,例如o 不能匹配bob 中的o,但是能匹配food中的兩個oo
n是個非負整數,至少匹配n次,例如,0 不能匹配bob 中的o, 但能匹配 foooood 中所有o 。o 等價於o+ ,而o 等價於o*
m和n均為非負整數,其中n<=m ,最少匹配n次和最多匹配m次,例如 o 將匹配 foooooood
中錢三個ooo ,o 等價於0? ,請注意逗號在兩個數之間不能有空格。
案例/<.>/ 貪婪
/<.>/ 非貪婪
定位符
使您能夠將正規表示式固定在行首或行尾。定位符用來描述字串或單詞的邊界,^和$ 分別指字串的開始和結束,\b 描述單詞的前或後邊界,\b表示非單詞邊界。
^ 匹配輸入字串開始的位置
$ 匹配輸入字串結尾的位置
\b 匹配乙個單詞邊界,即字與空格間的位置
\b 非單詞邊界匹配
注意: 不能將限定符與定位符一起使用
反向應用
捕獲的表示式,正如 [a-z]+ 指定的,包括乙個或多個字母。正規表示式的第二部分是對以前捕獲的子匹配項的引用,即,單詞的第二個匹配項正好由括號表示式匹配。\1 指定第乙個子匹配項。
單詞邊界元字元確保只檢測整個單詞。否則,諸如 "is issued" 或 "this is" 之類的片語將不能正確地被此表示式識別。
正規表示式後面的全域性標記 g 指定將該表示式應用到輸入字串中能夠查詢到的盡可能多的匹配。
表示式的結尾處的不區分大小寫 i 標記指定不區分大小寫。
修飾符(標記)
i不區分大小寫
g全域性匹配
m多行匹配
s特殊字元圓點. 中包含換行符\n
正規表示式基本語法學習
正規表示式常用的 本人今天下午沒什麼事做,現學現賣 dd 表示前導符必須要有1個或多個 上述表示式匹配 dd dddd 等 aa 表示前導符必有有0個貨多個 如 aa aaa ak?表示前導符有0個或1個 ak a 只有這兩個匹配 ak 是乙個非負整數。匹配確定的 n 次 ak n 是乙個非負整數。...
正規表示式語法學習 Python Qt Vim
python qt vim 字串開頭 a vim中,a代表非字元,與 a即 0 9a za z 對應 字串結尾 z 單詞邊界 b b vim中 b代表退格,其他 b 表示退格 單詞字元 w w w 對於vim,指 0 9a za z 其他,包含unicode 數字字元 d d d 對vim,指 0 ...
正規表示式基本語法學習
兩個特殊的符號 和 他們的作用是分別指出乙個字串的開始和結束。例子如下 the 表示所有以 the 開始的字串 there the cat 等 of despair 表示所以以 of despair 結尾的字串 abc 表示開始和結尾都是 abc 的字串 呵呵,只有 abc 自己了 notice 表...