字元
匹配字母或數字
自身\0
表示空字元,null,等價\u0000
\t表示製表符 \u0009
\n表示換行符 \u000a
\v表示垂直製表符
\f表示換頁符
\r表示回車符
\xnn
有十六進製制數表示escape字元數
\u***x
十六進製制的unicode
\***
八進位制字元
以上正規表示式為基本的字面量語法,漢字的範圍:/^[\u4e00 - \u9fa5]+$/
字元匹配
g全域性匹配
i忽略大小寫
m多行匹配
閱讀以上內容我們正式來看看正規表示式還有哪些語法
範圍類是表示可以匹配一定範圍內的字元比如**[a-z]、[0-9]**
"2016-09-01".replace(/[0-9]/g,"a") //aaaa-aa-aa
複製**
正規表示式為了方便也提供了一些預定義類:
字元等價類匹配.
[^\r\n]除了回車換行
\d[0-9]數字字元
\d[^0-9]非數字字元
\s[\t\n\x0b\f\r]空白符
\s[^\t\n\x0b\f\r]非空白符
\w[a-za-z0-9_]字母數字下劃線
\w[^a-za-z0-9_]非字母數字下劃線
預定義類提供了比較常用的類
字元匹配
^以***開頭
$以***結尾
\b單詞邊界
\b非單詞邊界
//1.首先我們來嘗試一下
//2.只有單詞旁邊有空格才會被替換??於是
//3.來試試單詞邊界
//4如果我們想改變this中的is呢?
複製**
字元匹配?
最多一次
+至少一次
*任意次
n次n到m次
至少n次
正規表示式預設是按照盡可能多的匹配:
'12345678'.replace(/\d/g,'a');//a78
//若改為非貪婪模式只需要將量詞後加上?
'12345678'.replace(/\d?/g,'a')//aa78
複製**
當你要匹配乙個單詞匹配三次怎麼用呢?
'hellohellohellohello'.replace(/(hello)/g,'a')//ahello
複製**
'hello'.replace(/hello|world/g,'a')
hello或者world而不是o或w
'helloorldhellworld'.replace(/hell(o|w)orld/g,'a')//aa
複製**
假定乙個需求:yyyy-mm-dd替換為dd-mm-yyyy
'2010-09-08'.replace(/(\d)-(\d)-(\d)/,'$3/$2/$1');
$n表示的是第幾個分組
複製**
在分組裡面加上?:
'2010-09-08'.replace(/(?:\d)-(\d)-(\d)/,'$3/$2/$1');
//"$3/08/09"
$3不存才了
複製**
先來看看這張表
名稱正則
匹配正向前瞻
exp(?=assert)
負向前瞻
exp(?=assert)
正向後顧
exp(?=assert)
js不支援
負向向後顧
exp(?=assert)
js不支援
複製**
globle:全域性匹配
ignorecase:忽略大小寫
mutiline:多行匹配
soure:正規表示式文字字串
test他會從lastindex開始匹配
exec
Python正規表示式(含正規表示式速查表)
1 正規表示式的優點 2 python正規表示式速查表 3 python正規表示式使用方法 首先,匯入python的re模組 import re 將正規表示式編譯成pattern物件 pattern re compile r 因.入院 使用pattern匹配文字,獲得匹配結果,無法匹配時將返回non...
js數字正規表示式,js小數正規表示式
js數字正規表示式,js小數正規表示式 是否為數字 僅正數 包括正整數 正小數 0 param value returns function isnumber value 是否為所有數字 正數 負數 包括整數 小數 0 param value returns function isnumberall...
正規表示式速查表
字元說明 將下一字元標記為特殊字元 文字 反向引用或八進位制轉義符。例如,n 匹配字元 n n 匹配換行符。序列 匹配 匹配 匹配輸入字串開始的位置。如果設定了regexp物件的multiline屬性,還會與 n 或 r 之後的位置匹配。匹配輸入字串結尾的位置。如果設定了regexp物件的multi...