javascript正則表達(dá)式之分組概念與用法實(shí)例
本文實(shí)例講述了javascript正則表達(dá)式之分組概念與用法。分享給大家供大家參考,具體如下:
function matchDemo(){
var s;
//該表達(dá)式分了三個組:d(b+)(d)、(b+)、(d)這個三個組(實(shí)際上是四個組,包括本身所有的表達(dá)式)
//從最左邊數(shù)第一個括號為第一個組,第二個括號為第二組,以此類推,分別對應(yīng)的值為RegExp.$1和RegExp.$2的值
var re = new RegExp("(d(b+)(d))","ig");
var str = "cdbBdbsbdbdz";
//exec()返回的值是符合表達(dá)式查找出來的一個數(shù)組
var arr = re.exec(str);
//符合d(b+)(d)這個表達(dá)式返回的值
s = "$1 contains: " + RegExp.$1 + ", RegExp.$1 : " + RegExp.$1.length + "\n";
//符合(b+)這個表達(dá)式返回的值
s += "$2 contains: " + RegExp.$2 + ", RegExp.$2 : " + RegExp.$2 + "\n";
//符合(d)這個表達(dá)式返回的值
s += "$3 contains: " + RegExp.$3 + ", RegExp.$3 : " + RegExp.$3;
//得到匹配字符串最后一個字符在字符串中的位置,也就是下次匹配開始位置
alert(RegExp.lastIndex);
//如果存在值,則返回的是最后一個分組的結(jié)果(返回任何正則表達(dá)式查找過程中最后括的子匹配)
alert(RegExp.lastParen);
//得到最后匹配的字符串(返回任何正則表達(dá)式搜索過程中的最后匹配的字符)
alert(RegExp.lastMatch);
//leftContext + lastMatch + rightContext == context
alert(RegExp.leftContext);
alert(RegExp.rightContext);
//得到的結(jié)果為第二個分組的結(jié)果
alert(RegExp.$2);
return(s);
}
alert(matchDemo());
function matchDemo2(){
var s,temp;
//該結(jié)果分為兩個組(b+)、(d),當(dāng)然還包括全部(d(b+)(d))為默認(rèn)的組
var re = new RegExp("d(b+)(d)","ig");
var str = "cdbBdbsbdbdz";
//arr的結(jié)果包括三個組(包括全部的模式)返回的結(jié)果
//dbBd、bB、d和dbd、b、d這兩個模式匹配,而第二個和第三個數(shù)組實(shí)際上就是在第一個的基礎(chǔ)上匹配(b+)、(d)這兩個模式
//也就是說分組是在全匹配的模式下再進(jìn)行匹配,起到"篩選"的功能
while((arr = re.exec(str)) != null)
{
alert(arr);
temp = "$1 contains: " + RegExp.$1 + ", RegExp.$1.length : " + RegExp.$1.length + ",RegExp.$1.lastIndex:" + RegExp.$1.lastIndex;
alert(temp);
//$2屬性表示的是匹配第二個分組,即(d)這個模式
s = "$2 contains: " + RegExp.$2 + ", RegExp.$2.length : " + RegExp.$2.length;
alert(s);
}
}
matchDemo2();
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- JS正則表達(dá)式之非捕獲分組用法實(shí)例分析
- 深入理解JS正則表達(dá)式---分組
- javascript正則表達(dá)式中分組詳解
- 詳解JavaScript正則表達(dá)式之分組匹配及反向引用
- JavaScript正則表達(dá)式的分組匹配詳解
- 淺談JavaScript正則表達(dá)式分組匹配
- JS正則表達(dá)式獲取分組內(nèi)容的方法詳解
- JavaScript正則表達(dá)式exec/g實(shí)現(xiàn)多次循環(huán)用法示例
- JS 密碼強(qiáng)度校驗(yàn)的正則表達(dá)式(簡單且好用)
- JavaScript使用正則表達(dá)式獲取全部分組內(nèi)容的方法示例
相關(guān)文章
使用gulp搭建本地服務(wù)器并實(shí)現(xiàn)模擬ajax
這篇文章主要給大家介紹了如何使用gulp搭建本地服務(wù)器并實(shí)現(xiàn)模擬ajax的相關(guān)資料,文中介紹的非常詳細(xì),相信對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-04-04
javascript實(shí)現(xiàn)點(diǎn)亮燈泡特效示例
這篇文章主要介紹了javascript實(shí)現(xiàn)點(diǎn)亮燈泡特效示例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-10-10
微信小程序開發(fā)之實(shí)現(xiàn)選項(xiàng)卡(窗口頂部TabBar)頁面切換
本篇文章主要介紹了微信小程序開發(fā)之選項(xiàng)卡(窗口頂部TabBar)頁面切換,具有一定的參考價值,有需要的可以了解一下。2016-11-11
Javascript實(shí)現(xiàn)禁止輸入中文或英文的例子
這篇文章主要介紹了Javascript實(shí)現(xiàn)禁止輸入中文或英文的方法實(shí)例,本文方法都是使用正則表達(dá)式實(shí)現(xiàn),需要的朋友可以參考下2014-12-12
在IE中調(diào)用javascript打開Excel的代碼(downmoon原作)
在IE中調(diào)用javascript打開Excel的代碼(downmoon原作)...2007-04-04

