1、什么是正則表達式:?
能讓計算機讀懂的字符串匹配規(guī)則。
2、正則表達式的寫法:
var re=new RegExp('規(guī)則', '可選參數(shù)');
var re=/規(guī)則/參數(shù);
3、規(guī)則中的字符?
1)普通字符匹配:
如:/a/ 匹配字符 ‘a(chǎn)’,/a,b/ 匹配字符 ‘a(chǎn),b’
2)轉(zhuǎn)義字符匹配:
\d 匹配一個數(shù)字,即0-9
\D 匹配一個非數(shù)字,即除了0-9
\w 匹配一個單詞字符(字母、數(shù)字、下劃線)
\W 匹配任何非單詞字符。等價于[^A-Za-z0-9_]
\s 匹配一個空白符
\S 匹配一個非空白符
\b 匹配單詞邊界
\B 匹配非單詞邊界
. 匹配一個任意字符,除了換行符‘\n’和回車符‘\r’
\1 重復(fù)子項
4、量詞:對左邊的匹配字符定義個數(shù)?
? 出現(xiàn)零次或一次(最多出現(xiàn)一次)
+ 出現(xiàn)一次或多次(至少出現(xiàn)一次)
* 出現(xiàn)零次或多次(任意次)
{n} 出現(xiàn)n次
{n,m} 出現(xiàn)n到m次
{n,} 至少出現(xiàn)n次
5、任意一個或者范圍?
[abc123] : 匹配‘a(chǎn)bc123’中的任意一個字符
[a-z0-9] : 匹配a到z或者0到9中的任意一個字符
6、限制開頭結(jié)尾?
^ 以緊挨的元素開頭
$ 以緊挨的元素結(jié)尾
7、修飾參數(shù):
g: global,全文搜索,默認搜索到第一個結(jié)果接停止
i: ingore case,忽略大小寫,默認大小寫敏感
m: multiple lines,多行搜索(更改^ 和$的含義,使它們分別在任意一行對待行首和行尾匹配,而不僅僅在整個字符串的開頭和結(jié)尾匹配)
8、常用函數(shù)?
1、test
用法:正則.test(字符串) 匹配成功,就返回真,否則就返回假
2、search
用法:字符串.search(正則) 匹配成功,返回位置,否則返回-1
3、match
用法: 字符串.match(正則);匹配成功,就返回匹配成功的數(shù)組,否則就返回null
4、replace
用法:字符串.replace(正則,新的字符串) 匹配成功的字符去替換新的字符
正則默認規(guī)則?
匹配成功就結(jié)束,不會繼續(xù)匹配,區(qū)分大小寫