?????? 學(xué)習(xí)正則表達(dá)式之前我們得先想幾個(gè)問題, 正則是干什么的?為什么要用正則督怜?怎么去使用正則?帶著這幾個(gè)問題一起來開始我們的學(xué)習(xí)之旅吧狠角。
什么是正則表達(dá)式号杠?
正則表達(dá)式(英語:Regular Expression,在代碼中常簡寫為regex丰歌、regexp或RE)使用單個(gè)字符串來描述姨蟋、匹配一系列符合某個(gè)句法規(guī)則的字符串搜索模式。它是操作字符串的立帖,可用于所有文本搜索和文本替換的操作眼溶。
正則優(yōu)點(diǎn):
正則可以更快速的完成工作,使用方便晓勇,還有在捕獲字符串的能力堂飞,正則也可以很好的完成工作,比如截取url的域名或者其他的內(nèi)容等等绑咱。
怎么使用正則
正則使用一般有下面兩種方法
1.var reg=new RegExp('規(guī)則','條件');
2.var reg=//條件;
第一種里面可以放變量绰筛,第二種不行配合正則使用的字符串方法。
語法
str.search(正則) :查找符合正則條件的字符描融,找到了返回下標(biāo)铝噩,沒找到返回-1, 區(qū)分大小寫
replace()有下面三種表現(xiàn)形式:str.replace(把誰窿克,替換成誰)骏庸,str.replace(正則毛甲,替換成誰)? , str.replace(正則敞恋,function(){})丽啡。
str.match(正則):找到了返回?cái)?shù)組谋右,沒有找到返回null硬猫。
修飾符包括:i(執(zhí)行對大小寫不敏感的匹配);g(執(zhí)行全局匹配)改执;m(執(zhí)行多行匹配)啸蜜。
轉(zhuǎn)譯字符:\d(查找數(shù)字) ,\s(查找空白字符),\u(查找以十六進(jìn)制數(shù) xxxx 規(guī)定的 Unicode 字符)辈挂,\w(查找單詞)等衬横。
量詞: {n} 正好n個(gè) ,{n,m} 最少n個(gè)终蒂,最多m個(gè)? {n,}? 最少n個(gè)蜂林,多了不限,{0,m}最少?zèng)]有拇泣,多則不限噪叙,
? ? ? ? ?? 可有可無
? ? ? ? +?? 若干 至少一個(gè)多了不限
? ? ? ? * 可以沒有,有了不限
正則校驗(yàn):? reg.test()霉翔,方法用于檢測一個(gè)字符串是否匹配某個(gè)模式睁蕾,如果字符串中含有匹配的文本,就返回true债朵,否則返回false子眶,配合^ 和 $ 使用。