?
文章目錄
知識(shí)回顧
1:概念回顧
2:正則表達(dá)式字面量
一:字符串中正則表達(dá)式方法
1:split
2:search
3:match
4:replace
知識(shí)回顧
1:概念回顧
????????正則表達(dá)式用于定義一些字符串的規(guī)則,計(jì)算機(jī)可以根據(jù)正則表達(dá)式檢查一個(gè)字符串是否符合規(guī)則,或者將字符串中符合規(guī)則的內(nèi)容提取出來(lái)。
2:正則表達(dá)式字面量
? ? ? ? 語(yǔ)法:var 變量 =/正則表達(dá)式/匹配模式;這種方式創(chuàng)建更加簡(jiǎn)單,使用構(gòu)造函數(shù)創(chuàng)建更加靈活
var reg = new RegExp("正則表達(dá)式","匹配模式");
? ? ? ? 正則表達(dá)式的預(yù)發(fā)是基于構(gòu)造函數(shù)創(chuàng)建,里邊需要有兩個(gè)參數(shù),一個(gè)是正則表達(dá)式,另外一個(gè)是匹配模式。
? ? ? ? 編寫(xiě)代碼:
var reg = new RegExp("a");
console.log(a);
一:字符串中正則表達(dá)式方法
1:split
? ? ? ? split是String當(dāng)中的方法,可以將一個(gè)字符串拆分為一個(gè)數(shù)組
var str = "1a2b3c4d5e6f";
var result = str.split("c");
console.log(result);
? ? ? ? 但是這樣玩有點(diǎn)不靈活,寫(xiě)啥按照啥進(jìn)行拆分。?我們想根據(jù)我們?nèi)我庾帜竵?lái)將字符串進(jìn)行拆分
? ? ? ? 我們方法中可以傳遞一個(gè)正則表達(dá)式作為一個(gè)參數(shù),這樣方法將會(huì)按照正則表達(dá)式去拆分字符串。
? ? ? ? 證明這件事情:
var str = "1a2b3c4d5e6f";
var result = str.split(/[a-z]/);
console.log(result);
? ? ? ? 運(yùn)行結(jié)果:?
2:search
? ? ? ? 這個(gè)方法可以搜索字符串中是否指定內(nèi)容
? ? ? ? 證明這件事情:
var str = "hello abc hello abc";
var result = str.search("abc");
console.log(result);
? ? ? ? 運(yùn)行結(jié)果:
? ? ? ? 返回第一次搜索到的結(jié)果索引如果沒(méi)有的話(huà)返回-1?
? ? ? ? 他可以接收一個(gè)正則表達(dá)式作為參數(shù),根據(jù)正則表達(dá)式作進(jìn)行檢索。
? ? ? ? 證明這件事情:
? ? ? ? 搜索我們字符串中是否包含:abc 或者 aec 或者 afc
var str = "hello abc hello aec afc";
var result = str.search(/a[bef]c/);
console.log(result);
? ? ? ? 運(yùn)行結(jié)果:
3:match
? ? ? ? 可以根據(jù)正則表達(dá)式將復(fù)合條件的內(nèi)容提取出來(lái)
? ? ? ? 證明這件事情:
var str = "1a2b3c4d5e6f";
var result = str.match(/[a-z]/);
console.log(result);
? ? ? ? 運(yùn)行結(jié)果:
? ? ? ? 計(jì)算機(jī)比較懶,只找了第一個(gè),我們需要告訴計(jì)算機(jī),我們要所有的復(fù)合條件的內(nèi)容,我們需要設(shè)置正則表達(dá)式進(jìn)行全局匹配模式。?
? ? ? ? 證明這件事情:
var str = "1a2b3c4d5e6f";
var result = str.match(/[a-z]/g);
console.log(result);
? ? ? ? 運(yùn)行結(jié)果:
? ? ? ? 再設(shè)置忽略大小寫(xiě):
var str = "1a2b3c4d5e6f";
var result = str.match(/[a-z]/gi);
console.log(result);
? ? ? ? ?運(yùn)行結(jié)果:
? ? ? ? 可以為一個(gè)正則表達(dá)式設(shè)置多個(gè)匹配模式且順序無(wú)所謂。?
? ? ? ? 這種情況返回的數(shù)據(jù)是一個(gè)數(shù)組。
4:replace
? ? ? ? 可以將字符串中的指定內(nèi)容替換為新的內(nèi)容
? ? ? ? 證明這件事情:
var str = "1a2b3c4d5e6f";
var result = str.replace(/[a-z]/gi,"@_@");
console.log(result);
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-795869.html
? ? ? ? 指的注意的是split這個(gè)方法不論是寫(xiě)不寫(xiě)g都會(huì)進(jìn)行全局匹配?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-795869.html
到了這里,關(guān)于JavaScript從入門(mén)到精通系列第三十一篇:詳解JavaScript中的字符串和正則表達(dá)式相關(guān)的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!