以下這些不是正則表達(dá)式的新增對象請參閱對應(yīng)的JavaScript對象的屬性 $_屬性 參考input $*屬性
參考multiline $&屬性 參考lastMatch $+屬性 參考lastParen $`屬性
參考leftContext $'屬性 參考rightContext compile方法 在腳本運(yùn)行期間編譯正則表達(dá)式對象
屬于RegExp的方法 在JavaScript 1.2, NES 3.0以上版本提供 語法:
regexp.compile(pattern[, flags]) 以數(shù): regexp 正則表達(dá)式的名稱,可以是變量名或文字串。
pattern 正則表達(dá)式的定義文本。 flags 如果指定的話,可以是下面其中的一個: "g": 匹配所有可能的字串
"i": 忽略大小寫 "gi": 匹配所有可能的字串及忽略大小寫 描述:
使用compile方法來編譯一個正則表達(dá)式 created with the RegExp constructor function。這樣
就強(qiáng)制正則表達(dá)式只編譯一次,而不是每次遇到正則表達(dá)式的時候都編譯一次。當(dāng)你確認(rèn)正則表達(dá)式能
保持不變的時候可使用compile 方法來編譯它(在獲得它的匹配模式后),這樣就可以在腳本中重復(fù)多次使用它。
你亦可以使用compile 方法來改變在運(yùn)行期間改變正則表達(dá)式。例如,假如正則表達(dá)式發(fā)生變化,
你可以使用compile方法來重新編譯該對象來提高使用效率。
使用該方法將改變正則表達(dá)式的source, global和ignoreCasesource屬性的值。 constructor
指出建立對象原型的function。注意這個屬性的值由函數(shù)本身提供,而不是一個字串包含RegExp的name.Property提供。
在JavaScript 1.1, NES 2.0以上版本提供 ECMA版本ECMA-262 描述:參考Object.constructor.
exec方法 在指定的字符串運(yùn)行匹配搜索。返回一個結(jié)果數(shù)組。 是RegExp的方法
在JavaScript 1.2, NES 3.0以上版本提供 語法: regexp.exec([str])regexp([str])
參數(shù): regexp,正則表達(dá)式的名稱,可以是一個變量名或文字定義串。
str,要匹配正則表達(dá)式的字符串,如果省略,將使用RegExp.input的值。
描述:就如在語法描述中的一樣,正則表達(dá)工的exec方法能夠被直接調(diào)用(使用regexp.exec(str))或者間接調(diào)用(使用regexp(str))。
假如你只是運(yùn)行以找出是否匹配,可以使用String搜索方法。
假如匹配成功,exec方法返回一個數(shù)組并且更新正則表達(dá)式對象屬性的值和預(yù)先定義的正則表達(dá)式對象、RegExp。如果匹配失敗,exec方法返回null。
請看下例: 下面是該腳本的返回值:對象 屬性/Index 描述 例子
myArray
myArray的內(nèi)容 ["dbBd", "bB", "d"]
index
基于0的匹配index 1
input
原始字符串cdbBdbsbz
[0]
最后匹配的字符dbBd
[1], ...[n]
用圓括號括住的匹配字符串,如果有的話。不限制括號的個數(shù)。[1] = bB
[2] = d
myRe
lastIndex
開始下次匹配操作的index值5
ignoreCase
指出"i"是否使用以忽略大小寫true
global
指出是否使用"g"標(biāo)記來進(jìn)行匹配所有可能的字串true
source
定義模式的文本字符串d(b+)(d)
RegExp
lastMatch$&
最后匹配的字符dbBd
leftContext$Q
最新匹配前面的子串c
rightContext$'
最新匹配后面的子串bsbz
$1, ...$9
圓括號內(nèi)的匹配子串,如果有的話。圓括號的個數(shù)不受限制,但RegExp只能保留最后9個$1 = bB
$2 = d
lastParen$+
最后一個加上圓括號的匹配子串,如果有的話d
假如你的正則表達(dá)式使用了"g"標(biāo)記,你可以多次使用exec 方法來連續(xù)匹配相同的串。當(dāng)你這樣做
的時候,新的匹配將從由正則表達(dá)式的lastIndex 屬性值確定的子串中開始。例如,假定你使用下面的腳本:
這個腳本顯示如下結(jié)果: Found abb. Next match starts at 3
Found ab. Next match starts at 9 例子:
在下面的例子中,用戶輸入一個名字,腳本根據(jù)輸入執(zhí)行匹配操作。接著檢查數(shù)組看是否和其它用戶的名字匹配。
本腳本假定已注冊的用戶的姓已經(jīng)存進(jìn)了數(shù)組A中,或許從一個數(shù)據(jù)庫中取得。
新聞熱點(diǎn)
疑難解答
圖片精選