狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

正則表達式regular expression詳述(二)

正則表達式regular expression詳述(二)

更新時間:2019-11-09 文章作者:未知 信息來源:網絡 閱讀次數:


正則表達式詳述(二)

以下這些不是正則表達式的新增對象請參閱對應的JavaScript對象的屬性 $_屬性 參考input $*屬性
參考multiline $&屬性 參考lastMatch $+屬性 參考lastParen $`屬性
參考leftContext $'屬性 參考rightContext compile方法 在腳本運行期間編譯正則表達式對象
屬于RegExp的方法 在JavaScript 1.2, NES 3.0以上版本提供 語法:
regexp.compile(pattern[, flags]) 以數: regexp 正則表達式的名稱,可以是變量名或文字串。
pattern 正則表達式的定義文本。 flags 如果指定的話,可以是下面其中的一個: "g": 匹配所有可能的字串
"i": 忽略大小寫 "gi": 匹配所有可能的字串及忽略大小寫 描述:
使用compile方法來編譯一個正則表達式 created with the RegExp constructor function。這樣
就強制正則表達式只編譯一次,而不是每次遇到正則表達式的時候都編譯一次。當你確認正則表達式能
保持不變的時候可使用compile 方法來編譯它(在獲得它的匹配模式后),這樣就可以在腳本中重復多次使用它。
你亦可以使用compile 方法來改變在運行期間改變正則表達式。例如,假如正則表達式發生變化,
你可以使用compile方法來重新編譯該對象來提高使用效率。
使用該方法將改變正則表達式的source, global和ignoreCasesource屬性的值。 constructor
指出建立對象原型的function。注意這個屬性的值由函數本身提供,而不是一個字串包含RegExp的name.Property提供。
在JavaScript 1.1, NES 2.0以上版本提供 ECMA版本ECMA-262 描述:參考Object.constructor.
exec方法 在指定的字符串運行匹配搜索。返回一個結果數組。 是RegExp的方法
在JavaScript 1.2, NES 3.0以上版本提供 語法: regexp.exec([str])regexp([str])
參數: regexp,正則表達式的名稱,可以是一個變量名或文字定義串。
str,要匹配正則表達式的字符串,如果省略,將使用RegExp.input的值。
描述:就如在語法描述中的一樣,正則表達工的exec方法能夠被直接調用(使用regexp.exec(str))或者間接調用(使用regexp(str))。
假如你只是運行以找出是否匹配,可以使用String搜索方法。
假如匹配成功,exec方法返回一個數組并且更新正則表達式對象屬性的值和預先定義的正則表達式對象、RegExp。如果匹配失敗,exec方法返回null。
請看下例: <SCRIPT LANGUAGE="JavaScript1.2"> //匹配一個b接著一個或多個d,再接著一個b
//忽略大小寫 myRe=/d(b+)(d)/ig; myArray = myRe.exec("cdbBdbsbz");
</SCRIPT> 下面是該腳本的返回值:對象 屬性/Index 描述 例子
myArray

myArray的內容 ["dbBd", "bB", "d"]
index
基于0的匹配index 1
input
原始字符串 cdbBdbsbz
[0]
最后匹配的字符 dbBd
[1], ...[n]
用圓括號括住的匹配字符串,如果有的話。不限制括號的個數。 [1] = bB
[2] = d
myRe
lastIndex
開始下次匹配操作的index值 5
ignoreCase
指出"i"是否使用以忽略大小寫 true
global
指出是否使用"g"標記來進行匹配所有可能的字串 true
source
定義模式的文本字符串 d(b+)(d)
RegExp
lastMatch$&
最后匹配的字符 dbBd
leftContext$\Q
最新匹配前面的子串 c
rightContext$'
最新匹配后面的子串 bsbz
$1, ...$9
圓括號內的匹配子串,如果有的話。圓括號的個數不受限制,但RegExp只能保留最后9個 $1 = bB
$2 = d
lastParen $+
最后一個加上圓括號的匹配子串,如果有的話 d

假如你的正則表達式使用了"g"標記,你可以多次使用exec 方法來連續匹配相同的串。當你這樣做
的時候,新的匹配將從由正則表達式的lastIndex 屬性值確定的子串中開始。例如,假定你使用下面的腳本:
<SCRIPT LANGUAGE="JavaScript1.2"> myRe=/ab*/g;str = "abbcdefabh"
myArray = myRe.exec(str);
document.writeln("Found "+myArray[0]+". Next match starts at "+myRe.lastIndex)
mySecondArray = myRe.exec(str);
document.writeln("Found "+mySecondArray[0]+". Next match starts at "+myRe.lastIndex)
</SCRIPT> 這個腳本顯示如下結果: Found abb. Next match starts at 3
Found ab. Next match starts at 9 例子:
在下面的例子中,用戶輸入一個名字,腳本根據輸入執行匹配操作。接著檢查數組看是否和其它用戶的名字匹配。
本腳本假定已注冊的用戶的姓已經存進了數組A中,或許從一個數據庫中取得。 <HTML>
<SCRIPT LANGUAGE="JavaScript1.2"> A = ["zhao","qian","sun","li","liang"]
function lookup() { firstName = /\w+/i(); if (!firstName)
window.alert (RegExp.input + "非法輸入"); else { count=0;
for (i=0;i 輸入你的姓然后按回車鍵。
<FORM><INPUT TYPE:"TEXT" NAME="FirstName" onChange="lookup(this);"></FORM>
</HTML> global屬性 正則表達式中是否使用了"g"標記。 RegExp屬性,只讀
在JavaScript 1.2, NES 3.0以上版本提供 描述: global是一個個別正則表達式對象的屬性
如果使用了"g"標記,global的值為true;否則為 false。"g"標記指定正則表達式測試所有可能的匹配。
你不能直接改變該屬性的值,但可以調用compile方法來改變它。 ignoreCase 檢查正則表達式是否使用了"i"標記
RegExp屬性,只讀 在JavaScript 1.2, NES 3.0以上版本提供 描述:
ignoreCase是個別正則表達式對象的一個屬性。
如果使用了"i"標記,則返回true,否則返回false。"i"標記指示在進行匹配的時候忽略大小寫。
你不能直接改變該屬性的值,但可以通過調用compile方法來改變它 input 指出正則表達式要測試那個字串。$_是這個屬性的另一個名字。
RegExp的屬性,靜態 在JavaScript 1.2, NES 3.0以上版本提供
描述:因為input是靜態的,不是某個個別的正則表達式對象的屬性。你也可以使用 RegExp.input來表示。
如果沒有給正則表達式的exec或test方法提供字符串,并且RegExp.input中有值,則使用它的值來調用該方法。
腳本或瀏覽器能夠預置input屬性。如果被預置了值且調用exec或 test方法的時候沒有提供字符串
則調用exec或test的時候使用input的值。input可以被瀏覽器以下面的方式設置:
當text表單域處理句柄被調用的時候,input被設置為該text輸入的字串。
當textarea表單域處理句柄被調用的時候,input被設置為textarea域內輸入的字串。注意multili
ne亦被設置成true從而能匹配多行文本。 當select表單域處理句柄被調用的時候,input被設置成selected text的值。
當鏈接對象的處理句柄被調用的時候,input被設置成<A HREF=...>和</A>之間的字符串。
事件理現句柄處理完畢后,input屬性的值被清除。 lastIndex 可讀/可寫的一個整數屬性,指出下一次匹配從哪里開始。
RegExp的屬性 在JavaScript 1.2, NES 3.0以上版本提供
描述:lastIndex 是個別的正則表達式對象的屬性。 這個屬性只有當正則表達式的"g"標記被使用以進行全串匹配的時候才被設置。實行以下規則:
如果lastIndex大小字符串的長度,regexp.test和regexp.exec失敗,且lastIndex被設為0。
如果lastIndex等于字串的長度且正則表達式匹配空字符串,則正則表達式從lastIndex的位置開始匹配。
如果lastIndex等于字符串的長度且正則表達式不匹配空字符串,則正則表達式不匹配input,且lastIndex被置為0。
否則,lastIndex被設置成最近一次匹配的下一點。 例如,按下面的順序執行腳本: re = /(hi)?/g 匹配空字符串
re("hi") 返回["hi", "hi"],lastIndex置為2
re("hi") 返回[""],一個空數組,它的下標為0的元素就是匹配字符串。在這種情況下,返回空
串是因為lastIndex等于2(且仍然是2),并且"hi"的長度也是2。 lastMatch 最后一次匹配字符串,$&是同樣的意思。
RegExp的屬性,靜態,只讀 在JavaScript 1.2, NES 3.0以上版本提供
描述:因為lastMatch是靜態的,所以它不是個別指定正則表達式的屬性。你也可以使用RegExp.lastMatch。 lastParen
最后一次加上括號的匹配字符串,如果有的話。$+是同樣的意思。 RegExp屬性,靜態,只讀
在JavaScript 1.2, NES 3.0以上版本提供
描述:因為lastParen是靜態的,它不是某個個別正則式的屬性,你可以使用RegExp.lastParen 表達同樣的意思。
leftContext 最近一次匹配前面的子串,$`具有相同的意思。 RegExp的屬性,靜態,只讀
在JavaScript 1.2, NES 3.0以上版本提供
描述:因為leftContext是靜態的,不是某一個正則表達式的屬性,所以可以使用RegExp.leftContext來表達想同的意思。
multiline 反映是否匹配多行文本,$*是相同的意思。 RegExp的屬性,靜態
在JavaScript 1.2, NES 3.0以上版本提供
描述:因為multiline是靜態的,而不是某個個別正則表達式的屬性,所以能夠用RegExp.multiline表達相同的意思。
如果允許匹配多行文本,則multiline為true,如果搜索必須在換行時停止,則為false。
腳本或瀏覽器能夠設置multiline屬性。當一個textarea的事件處理句柄被調用的時候,multiline
被置為true。在事件處理句柄處理完畢后,multiline屬性值被清除。也就是說,如果你設置了multili
ne為true,則執行任何的事件處理句柄后,multiline被置為false。 prototype
描繪類的原型。你可以根據要求使用prototype來增加類的屬性或方法。為了獲得prototypes 的資
料,請參閱RegExp的Function.prototype.Property屬性。 從JavaScript 1.1, NES 2.0版本開始提供
ECMA版本ECMA-262 rightContext 最后一次匹配的右邊的字符串,$'是同樣的效果。
RegExp的屬性,靜態,只讀 從 JavaScript 1.2, NES 3.0以上版本開始提供
描述:因為rightContext是靜態的,不是某個個別正則表達工的屬性,可以使用RegExp.rightContext來達到相同的效果。
source 一個只讀屬性,包含正則表達式定義的模式,不包僑forward slashes和"g"或"i"標記。 RegExp的屬性,只讀
從JavaScript 1.2, NES 3.0以上版本開始提供
描述:source是個別正則表達式對象的屬性,你不能直接改變它的值,但可以通過調用compile 方法來改變它。 test
執行指定字符串的正則表達式匹配搜索,返回true或false。 RegExp的方法
從JavaScript 1.2, NES 3.0以上版本開始提供 語法:regexp.test([str])
參數:regexp,正則表達式的名稱,可以是變量名或正則表達式定義文字串
str,要匹配的字符串,如果省略,將使用RegExp.input的值為作參數
描述:當你需要知道一個字符串能否匹配某個正則表達工,可以使用test方法(與String.search方
法類似); 為了獲得更多的信息(但速度將變慢),可以使用exec方法(與String.match方法類似)。 例子:下面的例子顯示test是否成功的提示:
function testinput(re, str){
if (re.test(str)) midstring = " contains ";
else midstring = " does not contain ";
document.write (str + midstring + re.source); } toSource
返回一個字符串象征對象的源碼 RegExp的方法 從JavaScript 1.3以上版本開始提供 語法:toSource()
參數:沒有 描述:toSource方法返回下述的值: 對于內置的RegExp對象,toSource返回下面的字符象征源碼不可用:
function Boolean(){ [native code] }
在RegExp場合中, toSource返回象征源碼的字符串,通常這個方法是由JavaScript內部自動調用而不是不代碼中顯式調用。
更多請看Object.toSource toString 返回描繪指定對象的字符串。 RegExp的方法
從JavaScript 1.1, NES 2.0開始提供 ECMA版本ECMA-262 語法:toString() 參數:無
描述:RegExp對象不考慮Object對象的toString方法;它不繼承Object.toString,對于RegExp 對
象,toString方法返回一個代表該對象的字符串。 例如:下面的例子顯示象征RegExp對象的字符串
myExp = new RegExp("a+b+c"); alert(myExp.toString())
displays "/a+b+c/" 更多請看:Object.toString valueOf 返回一個RegExp對象的原始值
RegExp的方法 從JavaScript 1.1版本開始提供 ECMA版本:ECMA-262 語法:valueOf()
參數:無 描述:RegExp的valueOf方法以字符串形式返回RegExp對象的原始值,這個值與RegExp.toString相等。
該方法通常由JavaScript內部自動調用而不是顯式調用 例子: myExp = new RegExp("a+b+c");
alert(myExp.valueOf()) displays "/a+b+c/"

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
久久久久国产精品免费免费搜索| 91色在线porny| 久久美女艺术照精彩视频福利播放 | 成人午夜精品一区二区三区| 久久久久久久电影| 日本精品一区二区三区高清| 91在线视频网址| 五月天一区二区三区| 欧美精品一区二区三区视频| 国产精品区一区| 91免费看`日韩一区二区| 天天操天天干天天综合网| 国产亚洲欧美色| 日韩一区二区三区电影| 91国产免费观看| 亚洲视频www| 国产在线视频欧美一区二区三区| 国产精品一区二区在线观看网站| 亚洲一区二区三区不卡国产欧美| 精品国内二区三区| 日韩欧美你懂的| 欧美日韩日日摸| 91福利在线看| 欧美日韩亚洲综合| 美女91精品| 在线免费观看不卡av| 91久久精品午夜一区二区| 久久午夜影视| 色成人在线视频| 欧美狂野另类xxxxoooo| 制服丝袜中文字幕一区| 欧美一级黄色录像| 久久久影视传媒| 中文字幕制服丝袜一区二区三区 | 欧美日韩一卡二卡三卡 | 欧美日韩美女一区二区| 欧美一区午夜精品| 久久婷婷国产综合国色天香| 国产亚洲成av人在线观看导航| 国产欧美日韩在线观看| 一二三四区精品视频| 美腿丝袜亚洲色图| 成人性生交大片免费看视频在线 | 伊人久久久大香线蕉综合直播| 亚洲成色最大综合在线| 久久久久久久久一区二区| 欧美卡1卡2卡| 亚洲日本在线天堂| 国产不卡高清在线观看视频| 亚洲国产91| 日韩免费看的电影| 亚洲一区二区三区三| 成人的网站免费观看| 国产欧美在线| 久久久99精品免费观看不卡| 日韩一区精品字幕| 亚洲黄色免费| 国产婷婷一区二区| 国产美女精品一区二区三区| 狠狠色狠狠色综合日日tαg| 欧美日韩精品一区二区三区四区| 亚洲国产岛国毛片在线| 国产一区在线观看麻豆| 性色一区二区| 一区二区三区丝袜| 一本色道精品久久一区二区三区| 久久久久久久一区| 国产不卡视频一区| 欧美精品丝袜久久久中文字幕| 亚洲一区二区五区| 在线观看福利一区| 亚洲日本欧美天堂| 精品成人国产| 亚洲卡通欧美制服中文| 在线观看欧美一区| 一区二区三区在线高清| 18成人免费观看视频| 亚洲三级视频在线观看| 99精品热6080yy久久| 一区二区三区不卡视频| 亚洲一区二区三区免费观看| 亚洲午夜精品一区二区三区他趣| 国产精品外国| 日本不卡高清视频| 欧美性xxxxxx少妇| 成人激情电影免费在线观看| 国产喂奶挤奶一区二区三区| 国产在线日韩| 看国产成人h片视频| 精品少妇一区二区三区| 制服丝袜成人动漫| 成人黄色网址在线观看| 亚洲人午夜精品天堂一二香蕉| 亚洲一区国产一区| 国产福利精品一区二区| 亚洲欧美日韩中文字幕一区二区三区 | 2022国产精品视频| 亚洲激情社区| 国产精品自拍一区| 国产精品成人一区二区三区夜夜夜| 蜜桃精品久久久久久久免费影院| 狠狠久久亚洲欧美| 一区在线观看视频| 欧美精品自拍偷拍动漫精品| www.欧美日韩国产在线| 亚洲综合精品久久| 精品毛片乱码1区2区3区| 国产精品区二区三区日本| 欧美精品免费观看二区| 日韩av在线播放中文字幕| 国产精品三级视频| 日韩精品资源二区在线| 一本久久精品一区二区| av成人黄色| 激情欧美日韩| 91浏览器打开| 成人动漫在线一区| 国产在线播放一区三区四| 亚洲一二三区视频在线观看| 国产亚洲福利社区一区| 欧美群妇大交群的观看方式| 久久aⅴ国产紧身牛仔裤| 国产在线欧美| 一区二区精品在线观看| 国产日韩亚洲| 国产女优一区| 久久蜜桃资源一区二区老牛| 麻豆精品传媒视频| 欧美色精品天天在线观看视频| 欧美性受xxxx| 91麻豆精品国产自产在线观看一区| 欧美性猛交一区二区三区精品| 欧美午夜精品久久久久久孕妇| 欧洲精品一区二区| 欧美日韩国产综合久久| 日韩一区二区免费高清| 国产网红主播福利一区二区| 亚洲欧美在线aaa| 日本大胆欧美人术艺术动态| 麻豆一区二区三| 成人aaaa免费全部观看| 狠狠色噜噜狠狠色综合久| 99成人在线| 欧美日韩一区二区三区高清| 久久综合久久综合九色| 一区二区激情小说| 国产精品996| 在线观看亚洲视频啊啊啊啊| 久久一区国产| 久久综合久久鬼色| 日本欧美久久久久免费播放网| 成人91在线观看| 久久亚洲色图| 久久久91精品国产一区二区三区| 亚洲免费在线播放| 国产成人免费视频一区| 一区二区三区导航| 日韩欧美电影在线| 男男视频亚洲欧美| 欧美日韩在线一二三| 91精品麻豆日日躁夜夜躁| 亚洲免费视频中文字幕| 91在线视频播放| 欧美日韩成人在线| 亚洲精品国产视频| 日韩一级片网站| 最近中文字幕一区二区三区| 很黄很黄激情成人| 亚洲mv大片欧洲mv大片精品| 亚洲国产日本| 亚洲人精品午夜| 99精品欧美| 亚洲福利视频一区二区| 亚洲欧美日韩国产一区| 成人欧美一区二区三区| 亚洲人久久久| 亚洲精品视频在线| 色999日韩国产欧美一区二区| 午夜在线成人av| 麻豆精品视频| 国产成人免费在线观看| 中文字幕免费一区| 久久精品一二三区| 午夜a成v人精品| 欧美日韩在线三区| 91毛片在线观看| 亚洲第一福利一区| 日韩一卡二卡三卡四卡| 激情欧美丁香| 国产黄色精品视频| 亚洲精品一卡二卡| 欧美精品少妇一区二区三区| 亚洲黄色免费| 国产成人免费av在线| 亚洲大胆av| 亚洲色图19p| 国产女主播在线一区二区| 日韩精品一区二区三区swag| 欧美日韩精品三区| 国产精品久久久久久久久久直播|