久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

js正則函數(shù)match、exec、test、search、replace、split使用介紹集合

match 方法
使用正則表達(dá)式模式對字符串執(zhí)行查找,并將包含查找的結(jié)果作為數(shù)組返回。
stringObj.match(rgExp)
參數(shù)
stringObj
必選項。對其進(jìn)行查找的 String 對象或字符串文字。
rgExp
必選項。為包含正則表達(dá)式模式和可用標(biāo)志的正則表達(dá)式對象。也可以是包含正則表達(dá)式模式和可用標(biāo)志的變量名或字符串文字。
其余說明與exec一樣,不同的是如果match的表達(dá)式匹配了全局標(biāo)記g將出現(xiàn)所有匹配項,而不用循環(huán),但所有匹配中不會包含子匹配項。
例子1:
function MatchDemo(){ var r, re; // 聲明變量。 var s = “The rain in Spain falls mainly in the plain”; re = /(a)in/ig; // 創(chuàng)建正則表達(dá)式模式。 r = s.match(re); // 嘗試去匹配搜索字符串。 document.write(r); // 返回的數(shù)組包含了所有 “ain” 出現(xiàn)的四個匹配,r[0]、r[1]、r[2]、r[3]。 // 但沒有子匹配項a。}輸出結(jié)果:ain,ain,ain,ain
exec 方法
用正則表達(dá)式模式在字符串中查找,并返回該查找結(jié)果的第一個值(數(shù)組),如果匹配失敗,返回null。
rgExp.exec(str)
參數(shù)
rgExp
必選項。包含正則表達(dá)式模式和可用標(biāo)志的正則表達(dá)式對象。
str
必選項。要在其中執(zhí)行查找的 String 對象或字符串文字。
返回數(shù)組包含:
input:整個被查找的字符串的值;
index:匹配結(jié)果所在的位置(位);
lastInput:下一次匹配結(jié)果的位置;
arr:結(jié)果值,arr[0]全匹配結(jié)果,arr[1,2…]為表達(dá)式內(nèi)()的子匹配,由左至右為1,2…。
例子2:

復(fù)制代碼 代碼如下:
function RegExpTest(){
var src=”http://sumsung753.blog.163.com/blog/I love you!”;
var re = /w+/g; // 注意g將全文匹配,不加將永遠(yuǎn)只返回第一個匹配。
var arr;
while((arr = re.exec(src)) !=null){ //exec使arr返回匹配的第一個,while循環(huán)一次將使re在g作用尋找下一個匹配。
document.write(arr.index + “-” + arr.lastIndex + “:” + arr + “<br/>”);
for(key in arr){
document.write(key + “=>” + arr[key] + “<br/>”);
}
document.write(“<br/>”);
}
}
window.onload = RegExpTest();

輸出結(jié)果:
0-1:I //0為index,i所在位置,1為下一個匹配所在位置
input=>I love you!
index=>0
lastIndex=>1
0=>I
2-6:love
input=>I love you!
index=>2
lastIndex=>6
0=>love
7-10:you
input=>I love you!
index=>7
lastIndex=>10
0=>you
說明:根據(jù)手冊,exec只返回匹配結(jié)果的第一個值,比如上例如果不用while循環(huán),將只返回’I’(盡管i空格后的love和you都符合表達(dá)式),無論re表達(dá)式用不用全局標(biāo)記g。但是如果為正則表達(dá)式設(shè)置了全局標(biāo)記g,exec 從以 lastIndex 的值指示的位置開始查找。如果沒有設(shè)置全局標(biāo)志,exec 忽略 lastIndex 的值,從字符串的起始位置開始搜索。利用這個特點(diǎn)可以反復(fù)調(diào)用exec遍歷所有匹配,等價于match具有g(shù)標(biāo)志。
當(dāng)然,如果正則表達(dá)式忘記用g,而又用循環(huán)(比如:while、for等),exec將每次都循環(huán)第一個,造成死循環(huán)。
exec的輸出將包含子匹配項。
例子3:

復(fù)制代碼 代碼如下:
function execDemo(){
var r, re; // 聲明變量。
var s = “The rain in Spain falls mainly in the plain”;
re = /[w]*(ai)n/ig;
r = re.exec(s);
document.write(r + “<br/>”);
for(key in r){
document.write(key + “-” + r[key] + “<br/>”);
}
}
window.onload = execDemo();

輸出:
rain,ai
input-The rain in Spain falls mainly in the plain
index-4
lastIndex-8
0-rain
1-ai
test 方法
返回一個 Boolean 值,它指出在被查找的字符串中是否匹配給出的正則表達(dá)式。
rgexp.test(str)
參數(shù)
rgexp
必選項。包含正則表達(dá)式模式或可用標(biāo)志的正則表達(dá)式對象。
str
必選項。要在其上測試查找的字符串。
說明
test 方法檢查字符串是否與給出的正則表達(dá)式模式相匹配,如果是則返回 true,否則就返回 false。
例子4:

復(fù)制代碼 代碼如下:
function TestDemo(re, s){
var s1;
if (re.test(s))
s1 = ” 匹配正則式 “;
else
s1 = ” 不匹配正則式 “;
return(“‘” + s + “‘” + s1 + “‘”+ re.source + “‘”);
}
window.onload = document.write(TestDemo(/ab/,’cdef’));

輸出結(jié)果:’cdef’ 不匹配正則式 ‘ab’
注意:test()繼承正則表達(dá)式的lastIndex屬性,表達(dá)式在匹配全局標(biāo)志g的時候須注意。
例子5:

復(fù)制代碼 代碼如下:
function testDemo(){
var r, re; // 聲明變量。
var s = “I”;
re = /I/ig; // 創(chuàng)建正則表達(dá)式模式。
document.write(re.test(s) + “<br/>”); // 返回 Boolean 結(jié)果。
document.write(re.test(s) + “<br/>”);
document.write(re.test(s));
}
testDemo();

輸出結(jié)果:
true
false
true
當(dāng)?shù)诙握{(diào)用test()的時候,lastIndex指向下一次匹配所在位置1,所以第二次匹配不成功,lastIndex重新指向0,等于第三次又重新匹配。下例顯示test的lastIndex屬性:
例子6:

復(fù)制代碼 代碼如下:
function testDemo(){
var r, re; // 聲明變量。
var s = “I”;
re = /I/ig; // 創(chuàng)建正則表達(dá)式模式。
document.write(re.test(s) + “<br/>”); // 返回 Boolean 結(jié)果。
document.write(re.lastIndex); // 返回 Boolean 結(jié)果。
}
testDemo();

輸出:
true
1
解決方法:將test()的lastIndex屬性每次重新指向0,re.lastIndex = 0;

search 方法
返回與正則表達(dá)式查找內(nèi)容匹配的第一個子字符串的位置(偏移位)。
stringObj.search(rgExp)
參數(shù)
stringObj
必選項。要在其上進(jìn)行查找的 String 對象或字符串文字。
rgExp
必選項。包含正則表達(dá)式模式和可用標(biāo)志的正則表達(dá)式對象。
說明:如果找到則返回子字符至開始處的偏移位,否則返回-1。
例子6:

復(fù)制代碼 代碼如下:
function SearchDemo(){
var r, re; // 聲明變量。
var s = “The rain in Spain falls mainly in the plain.”;
re = /falls/i; // 創(chuàng)建正則表達(dá)式模式。
re2 = /tom/i;
r = s.search(re); // 查找字符串。
r2 = s.search(re2);
return(“r:” + r + “;r2:” + r2); // 返回 Boolean 結(jié)果。
}
document.write(SearchDemo());

輸出:r:18;r2:-1
replace 方法
返回根據(jù)正則表達(dá)式進(jìn)行文字替換后的字符串的復(fù)制。
stringObj.replace(rgExp, replaceText)
參數(shù)
stringObj
必選項。要執(zhí)行該替換的 String 對象或字符串文字。該字符串不會被 replace 方法修改。
rgExp
必選項。為包含正則表達(dá)式模式或可用標(biāo)志的正則表達(dá)式對象。也可以是 String 對象或文字。如果 rgExp 不是正則表達(dá)式對象,它將被轉(zhuǎn)換為字符串,并進(jìn)行精確的查找;不要嘗試將字符串轉(zhuǎn)化為正則表達(dá)式。
replaceText
必選項。是一個String 對象或字符串文字,對于stringObj 中每個匹配 rgExp 中的位置都用該對象所包含的文字加以替換。在 Jscript 5.5 或更新版本中,replaceText 參數(shù)也可以是返回替換文本的函數(shù)。
說明
replace 方法的結(jié)果是一個完成了指定替換的 stringObj 對象的復(fù)制。意思為匹配的項進(jìn)行指定替換,其它不變作為StringObj的原樣返回。
ECMAScript v3 規(guī)定,replace() 方法的參數(shù) replacement 可以是函數(shù)而不是字符串。在這種情況下,每個匹配都調(diào)用該函數(shù),它返回的字符串將作為替換文本使用。該函數(shù)的第一個參數(shù)是匹配模式的字符串。接下來的參數(shù)是與模式中的子表達(dá)式匹配的字符串,可以有 0 個或多個這樣的參數(shù)。接下來的參數(shù)是一個整數(shù),聲明了匹配在 stringObject 中出現(xiàn)的位置。最后一個參數(shù)是 stringObject 本身。結(jié)果為將每一匹配的子字符串替換為函數(shù)調(diào)用的相應(yīng)返回值的字符串值。函數(shù)作參可以進(jìn)行更為復(fù)雜的操作。
例子7:

復(fù)制代碼 代碼如下:
function f2c(s) {
var test = /(d+(.d*)?)Fb/g; // 說明華氏溫度可能模式有:123F或123.4F。注意,這里用了g模式
return(s.replace
(test,
function(Regstr,$1,$2,$3,newstrObj) {
return((“<br/>” + Regstr +”<br/>” + ($1-32) * 1/2) + “C” +”<br/>” + //以下兩行進(jìn)行替換
$2 +”<br/>” + $3 +”<br/>” + newstrObj +”<br/>” );
}
)
);
}
document.write(f2c(“Water: 32.2F and Oil: 20.30F.”));

輸出結(jié)果:
Water: //不與正則匹配的字符,按原字符輸出
32.2F //與正則相匹配的第一個字符串的原字符串 Regstr
0.10000000000000142C //與正則相匹配的第一個字符串的第一個子模式匹配的替換結(jié)果 $1
.2 //與正則相匹配的第一個字符串的第二個子模式匹配項的替換結(jié)果,這里我們沒有將它替換 $2
7 //與正則相匹配的第一個字符串的第一個子匹配出現(xiàn)的偏移量 $3
Water: 32.2F and Oil: 20.30F. //原字符串 newstrObj
and Oil: //不與正則匹配的字符
20.30F //與正則相匹配的第二個字符串的原字符串
-5.85C //與正則相匹配的第二個字符串的第一個子模式與匹配的替換結(jié)果
.30 //與正則相匹配的第二個字符串的第二個子模式匹配項的替換結(jié)果,這里我們沒有將它替換
22 //與正則相匹配的第二個字符串的第一個子匹配出現(xiàn)的偏移量
Water: 32.2F and Oil: 20.30F. //原字符串
. //不與正則匹配的字符
上面的函數(shù)參數(shù)我們?nèi)坑玫搅恕T趯?shí)際中,我們只須用將xxF替換為xxC,根據(jù)要求,我們無須寫這么多參數(shù)。
例子8:

復(fù)制代碼 代碼如下:
function f2c(s) {
var test = /(d+(.d*)?)Fb/g; // 說明華氏溫度可能模式有:123F或123.4F
return(s.replace
(test,
function(strObj,$1) {
return((($1-32) * 1/2) + “C”);
}
)
);
}
document.write(f2c(“Water: 32.2F and Oil: 20.30F.”));

輸出:Water: 0.10000000000000142C and Oil: -5.85C.
更多的應(yīng)用:
例子9:

復(fù)制代碼 代碼如下:
function f2c(s) {
var test = /([d]{4})-([d]{1,2})-([d]{1,2})/;
return(s.replace
(test,
function($0,$1,$2,$3) {
return($2 +”/” + $1);
}
)
);
}
document.write(f2c(“today: 2011-03-29”));

輸出:today: 03/2011
split 方法
將一個字符串分割為子字符串,然后將結(jié)果作為字符串?dāng)?shù)組返回。
stringObj.split([separator[, limit]])
參數(shù)
stringObj
必選項。要被分解的 String 對象或文字。該對象不會被 split 方法修改。
separator
可選項。字符串或 正則表達(dá)式 對象,它標(biāo)識了分隔字符串時使用的是一個還是多個字符。如果忽略該選項,返回包含整個字符串的單一元素數(shù)組。
limit
可選項。該值用來限制返回數(shù)組中的元素個數(shù)。
說明
split 方法的結(jié)果是一個字符串?dāng)?shù)組,在 stingObj 中每個出現(xiàn) separator 的位置都要進(jìn)行分解。separator 不作為任何數(shù)組元素的部分返回。
例子10:

復(fù)制代碼 代碼如下:
function SplitDemo(){
var s, ss;
var s = “The rain in Spain falls mainly in the plain.”;
// 正則表達(dá)式,用不分大不寫的s進(jìn)行分隔。
ss = s.split(/s/i);
return(ss);
}
document.write(SplitDemo());

輸出:The rain in ,pain fall, mainly in the plain.

js正則表達(dá)式之exec()方法、match()方法以及search()方法

先看代碼:

var sToMatch = “test, Tes, tst, tset, Test, Tesyt, sTes”;
var reEs = /es/gi;
alert(reEs.exec(sToMatch));
alert(sToMatch.match(reEs));
alert(sToMatch.search(reEs));

三個彈出框內(nèi)容如下:

js正則函數(shù)match、exec、test、search、replace、split使用介紹集合

js正則函數(shù)match、exec、test、search、replace、split使用介紹集合

js正則函數(shù)match、exec、test、search、replace、split使用介紹集合

結(jié)果分析如下:

1、RegExp的exec()方法,有一個字符串參數(shù),返回一個數(shù)組,數(shù)組的第一個條目是第一個匹配;其他的是反向引用。所以第一個返回的結(jié)果是第一個匹配的值es(不區(qū)分大小寫)。

2、String對象有一個match()方法,它返回一個包含在字符串中所有匹配的數(shù)據(jù)。這個方法調(diào)用string對象,同時傳給它一個RegExp對象。所以第二個彈出語句返回的是所有符合正則表達(dá)式的數(shù)組。

3、search()的字符串方法與indexOf()有些類似,但是它使用一個RegExp對象而非僅僅一個子字符串。search()方法返回第一個匹配值的位置。所以第三處彈出的是“1”,即第二個字符就匹配了。注意的是search()方法不支持全局匹配正規(guī)表達(dá)式(帶參數(shù)g)。

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
五月天久久网站| 天堂网av成人| 水野朝阳av一区二区三区| 亚洲精品一二三区区别| 亚洲精品在线观看91| 午夜久久福利| 久久国产成人| 亚洲日本免费电影| 日韩中文字幕一区二区三区| 视频在线观看一区| 日韩在线一二三区| 日欧美一区二区| 国产精品一区二区av交换| 你懂的亚洲视频| 国产精选在线| 欧美日韩亚洲在线观看| 亚洲男女av一区二区| 亚洲一区二区免费看| 一区二区精彩视频| 久久激情综合网| 精品免费视频| 青青久久av| 久久xxxx精品视频| 亚洲精品在线a| 国产精品一站二站| 97欧美在线视频| 国产精品嫩草99av在线| 日本免费一区二区视频| 国产一区二区三区四区五区| 久久亚洲国产| 亚洲精品三级| 91亚洲国产高清| 老司机精品久久| 久久超级碰碰| 欧美 日韩 国产一区二区在线视频| 久久亚洲二区| 久久99久久人婷婷精品综合| 免费在线小视频| 亚洲视频播放| 国产午夜久久av| 欧洲精品一区二区三区| 日本大胆欧美人术艺术动态| 国产精品一区高清| 久久一区二区三区喷水| 日韩国产一区二| 欧美aa一级| 日本不卡中文字幕| 日韩国产综合| 欧美日韩精品一区二区三区在线观看| 日韩美女一区二区三区在线观看| 夜夜嗨网站十八久久| 国产精品欧美一区二区三区不卡 | 蜜桃一区二区三区在线观看| 国产剧情在线观看一区| 国产91久久精品一区二区| 911亚洲精品| 久久免费大视频| 国产伦理久久久久久妇女| 久久久久免费av| 国产精品亚洲片在线播放| 久久久久亚洲| 国产精品白丝av嫩草影院| 免费国产自久久久久三四区久久| 国产精品资源| 亚洲男女自偷自拍| 亚洲一区资源| 日韩精品第二页| 亚洲电影在线| 国内一区二区三区| 天堂俺去俺来也www久久婷婷| 久久精品观看| 国产高清日韩| 免费国产亚洲视频| 久久久久欧美精品| 国产精品手机在线播放| 鲁大师影院一区二区三区| 成人国产精品一区二区免费麻豆| 亚洲日本欧美| 蜜臀av免费一区二区三区| 精品一区二区三区在线观看视频| 亚洲精一区二区三区| 亚洲a一区二区三区| 欧美1区二区| 日本不卡视频一二三区| 激情久久五月| 久久男人天堂| 美腿丝袜亚洲一区| 亚洲精品一级| 国产精品人人爽人人做我的可爱| 在线一区av| 精品一二三区| 国产伦精品一区二区三区视频| 中文字幕一区二区精品区| 欧美亚洲在线日韩| 日韩精品诱惑一区?区三区| 欧美激情五月| 91av一区| 日韩精品免费视频人成 | 久久久久国产精品一区二区| 国产极品一区| 国产三级精品三级在线观看国产| 日韩中文字幕麻豆| 亚洲免费影院| 黄页网站一区| 精品一区在线| 欧美91福利在线观看| | 黑森林国产精品av| 精品不卡一区| 久久精品一本| 精品亚洲自拍| 精品美女在线视频| 精品成人18| 成人在线视频中文字幕| 麻豆成人91精品二区三区| 国产精品三级| 欧美黄页在线免费观看 | 国产精品视频一区二区三区| 欧美日韩黄网站| 日本午夜精品一区二区三区电影 | 久久伊人久久| 国产精品99久久久久久董美香| 国产日韩精品视频一区二区三区| 91欧美日韩在线| 国产精品一区二区av交换| 日韩三级一区| 97久久超碰| 国产精品xvideos88| 久久香蕉精品香蕉| 色综合狠狠操| 日韩在线视频精品| 亚洲国产专区校园欧美| 91久久久精品国产| 久久成人亚洲| 视频一区中文字幕精品| 日韩在线黄色| 国产情侣一区在线| 麻豆成人91精品二区三区| 国产福利91精品一区二区| 在线中文字幕播放| 国产精品97| 综合色一区二区| 国产精品22p| 日韩在线中文| 亚洲深夜福利| 日韩超碰人人爽人人做人人添| 日韩欧美高清一区二区三区| 欧美一级二级三级视频| 精品三区视频| 婷婷综合五月| 亚洲男人在线| 麻豆一区在线| 亚洲h色精品| 亚洲精品在线二区| 久久精品国产99国产| 成人精品亚洲| 亚洲不卡视频| 国产成人精品一区二区三区免费 | 日韩精品一级中文字幕精品视频免费观看 | 亚洲成av人片一区二区密柚| 日韩午夜精品| 国产精品最新| 亚洲91久久| 亚洲精品亚洲人成在线观看| 麻豆精品在线播放| 国产高清一区二区| 欧美一级久久| 99精品一区| 日韩亚洲精品在线观看| 97国产成人高清在线观看| 久久亚洲欧美| 国内自拍视频一区二区三区| 亚洲黄页一区| 麻豆久久久久久久| 国产午夜精品一区二区三区欧美| 国产欧美日韩一级| 亚洲高清激情| 国产精品乱战久久久| 久久精品青草| 日韩av二区在线播放| 久久青草久久| 国产日韩一区二区三区在线| 欧美va亚洲va日韩∨a综合色| 在线一区二区三区视频| 国产中文欧美日韩在线| 天堂av在线一区| 国产精品久久久久蜜臀| 亚洲1区在线| 欧美亚洲国产一区| 老司机精品视频在线播放| 久久不射网站| 日韩天堂在线| 国产精品资源| 丝瓜av网站精品一区二区 | 中文字幕在线免费观看视频| 免费一级片91| av资源亚洲| 91精品美女| 亚洲激精日韩激精欧美精品| 红杏一区二区三区|