麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > Regex > 正文

如何快速學(xué)習(xí)正則表達(dá)式

2020-03-16 20:59:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
在日常工作中,我們經(jīng)常寫(xiě)正則表達(dá)式,比如在表單中經(jīng)常用來(lái)驗(yàn)證用戶輸入的格式是否正確。接下來(lái)通過(guò)本文給大家介紹如何快速學(xué)習(xí)正則表達(dá)式,感興趣的小伙伴一起學(xué)習(xí)吧
 

正則表達(dá)式概念

正則表達(dá)式,又稱正規(guī)表示法、常規(guī)表示法(英語(yǔ):Regular Expression,在代碼中常簡(jiǎn)寫(xiě)為regex、regexp或RE),計(jì)算機(jī)科學(xué)的一個(gè)概念。正則表達(dá)式使用單個(gè)字符串來(lái)描述、匹配一系列符合某個(gè)句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)模式的文本。

在日常工作中,我們經(jīng)常寫(xiě)正則表達(dá)式,比如在表單中經(jīng)常用來(lái)驗(yàn)證用戶輸入的格式是否正確,我們就會(huì)用到正則表達(dá)式;可以把正則表達(dá)式看做是可以描述問(wèn)題的語(yǔ)言,它就是專門為模式匹配而設(shè)計(jì)的

-------------------------------------------------------------------------------

正則表達(dá)式的語(yǔ)法

可以簡(jiǎn)單粗暴得把正則表達(dá)式理解為查找東西,舉個(gè)例子:要在"Hello World"中找到"world"這個(gè)單詞,先用直白的語(yǔ)言來(lái)描述就是查找"從w開(kāi)頭到d結(jié)束的字母組合",使用正則來(lái)描述就是/bw/w*d/b,這個(gè)就是模式字符串,它由元字符和字面量字符組成

•常見(jiàn)的元字符如下:

正則表達(dá)式

•正則表達(dá)式中的旗標(biāo)

正則表達(dá)式

•正則表達(dá)式中的轉(zhuǎn)義字符

正則表達(dá)式

JS中的正則表達(dá)式

•兩種生成方式,

舉例:匹配0-9有沒(méi)有出現(xiàn)

 

復(fù)制代碼代碼如下:

1、通過(guò)RegExp var reg=new RegExp('^[0-9]','g');
2、通過(guò)表達(dá)式字面量 var reg=/^[0-9]/g;

 

•兩種常用的方法

test()、exec()

 

復(fù)制代碼代碼如下:

1、test方法:如果輸入字符串與模式相匹配,test就返回真,沒(méi)有則返回假
2、exec方法:如果輸入字符串與模式匹配,則返回一個(gè)數(shù)組,沒(méi)有匹配就返回null

 

/*test()方法,匹配是否有出現(xiàn)0-9*/var reg1=/^[0-9]/;reg1.test('There is no number');//返回結(jié)果為false/*exec()方法,匹配句子里面的單詞,兩個(gè)單詞一組*//*沒(méi)有設(shè)置全局旗標(biāo)*/var reg2=/(/w+)/s(/w+)/;reg2.test('There is no number');//返回結(jié)果['There is','There','is']//第0個(gè)元素是匹配的字符串,后面兩個(gè)元素分別是分組引用的子字符串/*設(shè)置全局旗標(biāo)*/var reg3=/(/w+)/s(/w+)/g;reg3.test('There is no number');//設(shè)置了全局旗標(biāo)的話,exec()會(huì)循環(huán)尋找//第一次查找結(jié)果['There is','There','is'],第二次結(jié)果['no number','no','number'],第三次結(jié)果null exec()方法如果設(shè)置了全局旗標(biāo),在循環(huán)中使用必須要手動(dòng)設(shè)置其reg.lastIndex = 0;,否則它會(huì)間隔匹配

--------------------------------------------------------------------------------

字符串對(duì)象與正則表達(dá)式

•在string對(duì)象中有不少以正則表達(dá)式對(duì)象作為參數(shù)的方法

 

屬性 說(shuō)明
match(regexp) 返回正則表達(dá)式regexp的匹配結(jié)果
replace(searchValue,replaceValue) 將searchValue(正則表達(dá)式或是字符串值)
替換為replaceValue,并返回響應(yīng)的字符串
search(regexp) 返回正則表達(dá)式regexp匹配位置的下標(biāo),沒(méi)有匹配就返回-1
split(separator,limit) 通過(guò)參數(shù)separator(字符串或是正則表達(dá)式)
對(duì)字符串進(jìn)行分割,并返回一個(gè)字符串?dāng)?shù)組

 

•match方法會(huì)返回元素與模式相匹配的字符串的數(shù)組,設(shè)置全局旗標(biāo)時(shí),會(huì)返回所有與模式相匹配的字符串?dāng)?shù)組,不設(shè)置時(shí)和exec方法相同

應(yīng)用例子:

var text='abc def ghi jkl';//設(shè)置全局旗標(biāo)text.match(//w+/g);//["abc","def","ghi","jkl"]//不設(shè)置全局旗標(biāo)text.match(/(/w+)/s(/w+)/);//["abc def","abc","def"] •replace方法返回被替換的字符串,如果設(shè)置了全局旗標(biāo),則替換全部匹配了的字符串,否則只替換第一個(gè)匹配的字符串;replace中如果第一個(gè)參數(shù)用了分組,第二個(gè)參數(shù)能夠通過(guò)符號(hào)來(lái)標(biāo)識(shí)分組的前向引用

正則表達(dá)式

應(yīng)用例子:

var text="abc def ghi jkl";//將空格替換為字符text.replace(//s/,',');//"abc,def ghi jkl"text.replace(//s/g,',');//"abc,def,ghi,jkl"//對(duì)空格之前的字符分組,用逗號(hào)替換并前向移動(dòng)一位text.replace(/(.)/s/g,",$1");//"ab,cde,fgh,igkl" •在search與split方法中,正則表達(dá)式的全局旗標(biāo)不起作用

以上內(nèi)容是小編給大家介紹的快速學(xué)習(xí)正則表達(dá)式 的方法,希望對(duì)大家有所幫助!



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到正則表達(dá)式頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产一区二区三区手机在线 | 成人毛片100免费观看 | 宅男噜噜噜66国产免费观看 | 91久久久久久亚洲精品禁果 | 91精品成人福利在线播放 | 亚洲视频在线网 | 久久精品中文字幕一区二区 | 男女做性免费网站 | 国产精品久久久久久久av | 亚洲一区成人在线 | 欧美精品激情在线 | 国产精品视频在线观看免费 | 免费看综艺策驰影院 | 最新在线黄色网址 | 国产精品国产成人国产三级 | 成人不卡在线观看 | 成人黄色小视频网站 | 欧美一级黄色网 | 日韩黄色三级视频 | 成人午夜一区二区 | 黄网站免费观看视频 | 久久撸视频 | 日本成人一二三区 | 色人阁在线视频 | 黄色毛片视频在线观看 | 成人免费精品视频 | 国产精品剧情一区二区三区 | www国产成人免费观看视频,深夜成人网 | 久久艹一区 | 欧美一级黄色片在线观看 | 中文字幕一区在线观看视频 | 视频一区 日韩 | 成人三级在线播放 | 青草视频在线观看视频 | 亚洲欧美一区二区三区在线观看 | 一级电影在线观看 | www.91在线观看 | 精品亚洲免费 | 欧美成视频在线观看 | www.射| 黄色av免费|