您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“javaScript正則表達(dá)式代碼怎么寫”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“javaScript正則表達(dá)式代碼怎么寫”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
‘\b’:代表單詞邊界,比如/\bis\b/會匹配一句話中的is單詞,不會匹配單詞中的is
‘()’:小括號可以用于分組,以便獲取到正則表達(dá)式匹配的內(nèi)容,用1可以獲取第一個小括號的內(nèi)容,用2可以獲取第二個小括號的內(nèi)容。以此類推
g:global全文搜索,不添加,搜索到第一個匹配停止
i:ignore case 忽略大小寫,默認(rèn)大小寫敏感
m:multiple lines多行搜索
var reg = new RegExp(‘\b要替換的文本\b’, ‘g’);
“文本”.replace(reg, “替換后的文本”)
字面量
var reg = /\b文本\b/g;
正則表達(dá)式由兩種基本字符類型組成
1.原義文本字符:代表它原來含義的字符 例如:abc、123
2.元字符:在正則表達(dá)式中有特殊意義的非字母字符
例如:\b表示匹配單詞邊界,而非\b
在正則表達(dá)式中具體特殊含義的字符:* + ? $ ^ . \ () {} []
元字符:
\t:水平制表符;
\v:垂直制表符;
\n:換行符;
\r:回車符;
\0:空字符;
\f:換頁符;
\cX:與X對應(yīng)的控制字符
使用元字符[]來構(gòu)建一個簡單的類,
所謂類是指符合某些特性的對象,一個泛指,而不是特指某個字符
表達(dá)式[abc]把字符a或b或c歸為一類,表達(dá)式可以匹配這類字符
字符類取反
使用元字符^創(chuàng)建反向類/負(fù)向類
反向類的意思是不屬于某一類的內(nèi)容
表達(dá)式[^abc]表示不是a或b或c的內(nèi)容
"a1b2c3".replace(/[abc]/g,"x"); // 匹配結(jié)果 : x1x2x3 "a1b2c3".replace(/[^abc]/g,"x"); // 取反 匹配結(jié)果 : axbxcx
范圍類:[a-z],[0-9]等等,可以連寫:[a-zA-Z]
如果要匹配里面的橫杠“-”,可以在后面加一個橫杠“-”:[0-9-]
“2016-09-05”.replace(/[0-9-]/g,”X”) => XXXXXXXXXXX
^在中括號中[]表示取反
不在[]表示以xxx開始
\d 數(shù)字
\D 非數(shù)字
\s 空白符
\S 非空白符
\w 單詞字符(字母數(shù)字下劃線)等同于 [a-zA-Z_0-9]
\W 非單詞字符
. 除了回車符和換行符以外的所有字符
正則表達(dá)式還提供了幾個常用的邊界匹配字符:
^ 開頭
$ 結(jié)尾
\b 單詞邊界
\B 非單詞邊界
? 最多出現(xiàn)一次
+ 至少出現(xiàn)一次
* 任意次
{n} 出現(xiàn)n次
{n,m} 出現(xiàn)n到m次
{n,} 至少出現(xiàn)n次
正則表達(dá)式的匹配模式有:貪婪模式,非貪婪模式。默認(rèn)模式為貪婪模式,設(shè)置非貪婪模式需要在量詞后面添加疑問號“?”。
例如: ‘123456789’.match(/\d{3,6}?/g)//匹配結(jié)果為['123456'] ‘123456789’.match(/\d{3,6}?/g) //匹配結(jié)果為 ['123','456','789']
使用()可以達(dá)到分組的功能,使量詞作用于分組
| 或
反向引用 $ 捕獲分組
'2015-12-25'.replace(/(\d{4})-(\d{2})-(\d{2})/g,$1/$2/$3);// 匹配結(jié)果 2015/12/25
忽略分組
分組:使用“()” ,忽略分組:“(?:)”。忽略分組的意思是說,雖然分了組,但是不能通過”$”來獲取改組的內(nèi)容。
忽略分組 - 不希望捕獲某些分組,只需要在分組內(nèi)加上 “?:” 就可以
例: (?:Byron)
exp(?=assert) 正向前瞻
exp(?1assert) 負(fù)向前瞻
前瞻 匹配某個正則之后 再檢查 后面的匹配規(guī)則
正向前瞻(/\w(?=\d)/);//匹配到單詞之后,在檢查后面是數(shù)字
負(fù)向前瞻(/\w(?!\d)/)://匹配到單詞之后,在檢查后面不是數(shù)字
g是否全文搜索
i是否大小寫敏感
m是否多行搜索
l當(dāng)前表達(dá)式匹配內(nèi)容的最后一個字符的下一個位置
s正則表達(dá)式的文本內(nèi)容
reg.test(“str”);// 測試參數(shù)是否匹配正則表達(dá)式reg
str.search(reg);//search返回第一個匹配結(jié)果的index,查找不到返回-1;search方法是忽略全局匹配的
str.match(reg);//返回數(shù)組,match方法 是否具有標(biāo)志g對結(jié)果影響很大,沒有標(biāo)志g只執(zhí)行一次匹配,沒有找到文本,返回null,否則返回數(shù)組
str.split(reg);//返回數(shù)組
str.replace(reg,str1);//
string.replace(str, replaceStr)
string.replace(reg, replaceStr)
string.replace(reg, function)
讀到這里,這篇“javaScript正則表達(dá)式代碼怎么寫”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。