亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > regex > 正文

JScript中正則表達函數的說明與應用

2020-01-20 22:30:58
字體:
來源:轉載
供稿:網友
作為模式匹配下文本替換、搜索、提取的強有力工具,正則表達式(Regular Expression)的應用已經從unix平臺逐漸滲入到網絡開發中了,作為服務器端/客戶端的腳本開發語言JScript,正越來越多將正則表達式應用融入其中,以彌補自身在文本上處理能力的不足。在此,我們以JScript5.5版本為例,對其中的正則表達式的應用作一個概述。 
首先我們需要區分JScript中關于正則表達式的兩個對象:Regular Expression對象和RegExp對象。 
前者僅包含一個特定的正則表達式實例的信息,而后者通過一個全局變量的屬性來反映最近模式匹配的特性。 
前者在匹配前需要指定匹配模式,即創建一個Regular Expression對象的實例,而后可以把它傳遞給一個字符串方法,或是把一個字符串作為參數傳遞給這個Regular Expression實例的方法;而后者無需創建,它是一個固有的全局對象,每次成功匹配操作結果信息被保存在這個對象的屬性中。 

一、RegExp對象的屬性:反應最近一次成功匹配的結果信息 

input :保存執行匹配的字符串(被搜索的目標字符串)(>=IE4) 
index :保存匹配的首字符的位置*>=IE4) 
lastIndex :保存匹配的字符串的下一個字符的位置(>=IE4) 
lastMatch($&) :保存匹配到的字符串(>=IE5.5) 
lastParen($+) :保存匹配結果最后一個子匹配的內容(最后一個括號的匹配內容)(>=IE5.5) 
leftContext($`) :保存目標字符串中匹配子字符串前的所有字符 (>=IE5.5) 
rightContext($'):保存目標字符串中匹配子字符串后的所有字符 (>=IE5.5) 
$1 - $9 :保存匹配中最開始的9個子匹配(即最開始的9個括號內的匹配結果)(>=IE4) 

二、Regular Expression對象簡介 
1.Regular Expression對象定義 
在腳本中使用正則表達式模式匹配,首先腰設定匹配模式,方法有如下兩種 
(1)rgExp=/pattern*/[flags*] 
(2)rgExp=new RegExp("pattern",["flags"]) 
注意: 
a.后者模式中的轉義字符“/”需要用“//”表示,用以抵消JS中轉義字符"/"的意義,否則JS首先作為自己的轉義概念來解釋"/"后的字符。 
b.flags標識有以下幾個(至JScript 5.5版本) 
g:設定當前匹配為全局模式 
i:忽略匹配中的大小寫檢測 
m:多行搜索模式 
2.Regular Expression對象屬性 
(1)rgExp.lastIndex:匹配結果后面一個字符的位置,同RegExp.lastIndex 
(2)rgExp.source:reExp對象的正則表達式匹配模式 
3.Regular Expression對象方法 
(1)rgExp.compile(pattern,[flags]) 
將rgExp轉化為內部格式,以加快匹配的執行,這對于大量模式一致的匹配更有效 
(2)rgExp.exec(str) 
按照rgExp的匹配模式對str字符串進行匹配查找,當rgExp對象中設定了全局搜索模式(g),則匹配查找從RegExp對象lastIndex屬性所指定的目標字符串位置開始;若沒有設置全局搜索,則從目標字符串第一個字符開始搜索。若沒有任何匹配發生,返回null。 
需要注意的是該方法將匹配結果放在一個數組內返回,該數組有三個屬性 
input:包含目標字符串,同RegExp.index 
index:匹配到的子字符串在目標字符串中的位置,同RegExp.index 
lastIndex:匹配到的子字符串后面一個字符的位置,同RegExp.lastIndex 
(3)rgExp.test(str) 
返回布爾值來反映被查找的目標字符串str中是否存在符合匹配的模式。該方法不改變RegExp的屬性 
4.與正則表達式相關的方法 
主要是指字符串對象中應用模式匹配的方法 
(1)stringObj.match(rgExp) 
根據rgExp對象的正則表達式模式查找字符串stringObj中的匹配字符項,將結果以數組形式返回。該數組有三個屬性值,與exec方法返回的數組屬性相同。若沒有任何匹配,返回null。 
需要注意的是,若rgExp對象未設定全局匹配模式,則數組0下標元素為匹配的整體內容,1~9包含了子匹配得到的字符。若設定了全局模式,則數組包含了搜索到的所有整體匹配項。 
(2)stringObj.replace(rgExp, replaceText) 
返回一個字符串,即將stringObj中符合rgExp模式匹配的字符串替換成replaceText后返回。需要注意的是stringObj本身并不因為替換操作而改變。若期望stringObj中所有符合正則表達式模式的字符串被替換,則在建立正則表達式模式時要設定為全局模式。 
(3)stringObj.search(rgExp) 
返回第一個匹配到的子字符串的位置 

符號名詞解釋: 
位置:表示子字符串與目標字符串首字符的偏移 
reExp:表示一個Regular Expression對象實例 
stringObj:表示一個字符串對象 
pattern:正則表達式模式 
flags:匹配操作的模式標識 

在實際web程序開發中我們可以有針對性的使用正則表達式來達到我們字符串處理的要求 
如下附上四個使用正則表達式的JScript例程,這些例子主要用來熟悉正則表達式的使用。 

1.email地址有效性檢測 
<script language='JScript'> 
function validateEmail(emailStr) 

var re=/^[/w.-]+@([0-9a-z][/w-]+/.)+[a-z]{2,3}$/i; 
//或 var re=new RegExp("^[//w.-]+@([0-9a-z][//w-]+//.)+[a-z]{2,3}$","i"); 
if(re.test(emailStr)) 

alert("有效email地址!"); 
return true; 

else 

alert("無效email地址!"); 
return false; 


</script> 

2.字符串替換操作 
<script language='JScript'> 
var r, pattern, re; 
var s = "The rain in Spain falls mainly in the plain falls."; 
pattern = /falls/ig; 
re = s.replace(re,'falling'); 
alert('s = ' + s + '/n' + 're = ' + re); 
</script> 

3.模式查找字符串 
<script language='JScript'> 
var index, pattern; 
var str = "four for fall fell fallen fallsing fall falls waterfalls "; 
pattern = //bfalls/b/i; 
index = str.search(pattern); 
alert('The position of match is at ' + index); 
</script> 

3.正則表達式屬性例程 
<script language='JScript'> 
function matchAttrib() 

var s=''; 
var re = new RegExp("d(b+)(d)","ig"); 
var str = "cdbBbdbsbdbdz"; 
while((arr = re.exec(str))!=null) 

s += "=======================================<br>"; 
s += "$1 returns: " + RegExp.$1 + "<br>"; 
s += "$2 returns: " + RegExp.$2 + "<br>"; 
s += "$3 returns: " + RegExp.$3 + "<br>"; 
s += "input returns : " + RegExp.input + "<br>"; 
s += "index returns : " + RegExp.index + "<br>"; 
s += "lastIndex returns : " + RegExp.lastIndex + "<br>"; 
s += "lastMatch returns: " + RegExp.lastMatch + "<br>"; 
s += "leftContext returns: " + RegExp.leftContext + "<br>"; 
s += "rightContext returns: " + RegExp.rightContext + "<br>"; 
s += "lastParen returns: " + RegExp.lastParen + "<br>"; 
s += "arr.index returns: " + arr.index + "<br>"; 
s += "arr.lastIndex returns: " + arr.lastIndex + "<br>"; 
s += "arr.input returns: " + arr.input + "<br>"; 
s += "re.lastIndex returns: " + re.lastIndex + "<br>"; 
s += "re.source returns: " + re.source + "<br>"; 

return(s); //Return results. 

document.write(matchAttrib()); 
</script> 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
激情av一区二区| 色偷偷噜噜噜亚洲男人| 久久久精品2019中文字幕神马| 日韩av免费看网站| 黑人狂躁日本妞一区二区三区| 91精品视频在线播放| 欧美视频在线观看免费| 日韩精品在线私人| 精品国产一区二区三区久久狼5月| 欧美激情一区二区久久久| 国产日韩中文字幕| 51精品国产黑色丝袜高跟鞋| 欧美成人在线免费| 在线亚洲国产精品网| 欧美福利视频在线| 国产精品一区二区三区久久| 在线播放亚洲激情| 日韩欧美成人精品| 日韩中文字幕在线看| 亚洲国产精品人人爽夜夜爽| 成人综合国产精品| 国产日本欧美在线观看| 亚洲天堂一区二区三区| 疯狂蹂躏欧美一区二区精品| …久久精品99久久香蕉国产| 精品女同一区二区三区在线播放| 4k岛国日韩精品**专区| 亚洲色图18p| 国产精品高潮呻吟久久av野狼| 欧美激情综合亚洲一二区| 欧美成人免费视频| 久久99国产精品久久久久久久久| 午夜精品一区二区三区在线视| 中文字幕在线看视频国产欧美| 欧美老妇交乱视频| 免费不卡欧美自拍视频| 久久成人av网站| 在线观看成人黄色| 久久99热精品| 97香蕉久久超级碰碰高清版| 久久艳片www.17c.com| 亚洲精品久久久久久久久久久久| 国产视频精品一区二区三区| 国产激情久久久| 欧美大胆在线视频| 欧美情侣性视频| 亚洲精品国产精品国产自| 欧美激情在线狂野欧美精品| 亚洲国产精品一区二区久| 欧美午夜宅男影院在线观看| 精品av在线播放| 亚洲欧洲av一区二区| 欧美激情一区二区三级高清视频| 亚洲男人的天堂网站| 亚洲欧美一区二区三区情侣bbw| 影音先锋欧美在线资源| 欧美日韩一区二区免费视频| 福利微拍一区二区| 亚洲精品不卡在线| 麻豆国产va免费精品高清在线| 亚洲字幕一区二区| 国产精品一区二区三区在线播放| 日韩中文字幕在线视频播放| 亚洲网站在线播放| 亚洲欧美国产精品久久久久久久| 国产一区二区三区18| 欧美丰满少妇xxxx| 2019中文字幕全在线观看| 精品视频9999| 国产欧美精品va在线观看| 国产午夜精品理论片a级探花| 少妇精69xxtheporn| 亚洲乱码一区av黑人高潮| 日韩精品电影网| 日韩最新av在线| 在线日韩第一页| 欧美国产精品日韩| 欧美日韩国产影院| 亚洲精品久久久久久久久久久久| 欧美日韩国产限制| 欧美日韩在线视频一区| 欧洲美女7788成人免费视频| 成人欧美在线观看| 成人亚洲综合色就1024| 91系列在线播放| 国产美女精品免费电影| 日韩av免费网站| 最近中文字幕日韩精品| 亚洲精品日韩av| 日韩精品在线看| 国产精品美女www| 97涩涩爰在线观看亚洲| 亚洲欧洲免费视频| 国产视频精品免费播放| 日韩毛片在线观看| 日韩av一卡二卡| 亚洲第一区中文字幕| 欧美乱妇高清无乱码| 久久久国产一区二区| 性亚洲最疯狂xxxx高清| 中文字幕一区二区精品| 日韩久久精品电影| 最近2019好看的中文字幕免费| 欧美野外wwwxxx| 亚洲美女久久久| 色yeye香蕉凹凸一区二区av| 成人网页在线免费观看| 日韩精品极品在线观看播放免费视频| 性亚洲最疯狂xxxx高清| 亚洲欧美日韩国产中文| 久久精品国产精品亚洲| 夜夜嗨av色一区二区不卡| 人人澡人人澡人人看欧美| 欧美极品在线播放| 中文字幕久久精品| 26uuu亚洲国产精品| 日韩精品中文字幕在线| 精品国产一区二区在线| 亚洲综合中文字幕在线| 亚洲天堂网站在线观看视频| 欧美性黄网官网| 精品视频在线观看日韩| 日韩欧美在线网址| 91在线无精精品一区二区| 午夜精品在线视频| 国产精品第七影院| 亚洲韩国欧洲国产日产av| 日韩一二三在线视频播| 久久97久久97精品免视看| 按摩亚洲人久久| 亚洲第一页在线| 国产精品草莓在线免费观看| 精品国产成人av| 精品动漫一区二区| 精品久久香蕉国产线看观看亚洲| 91久久精品在线| 午夜伦理精品一区| 日韩欧美亚洲成人| 亚洲欧洲中文天堂| 中文日韩在线观看| 日韩高清不卡av| 欧美精品一区二区三区国产精品| 日韩中文字幕精品视频| 伊人久久大香线蕉av一区二区| 色妞在线综合亚洲欧美| 欧美激情视频播放| 久久这里只有精品99| 久久99国产精品自在自在app| 亚洲2020天天堂在线观看| 欧美多人爱爱视频网站| 97福利一区二区| 亚洲自拍偷拍色图| 亚洲国产精品久久| 成人在线小视频| 69久久夜色精品国产69| 中文字幕少妇一区二区三区| 国产精品h在线观看| 欧美一级片在线播放| 精品久久久久久久久久国产| 亚洲一区二区在线播放| 亚洲精品久久久久久久久久久久| 国内精品中文字幕| 国产美女搞久久| 成人黄色免费网站在线观看|