国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

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

2020-03-16 21:24:30
字體:
來源:轉載
供稿:網友

以下這些不是正則表達式的新增對象請參閱對應的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。

請看下例: 下面是該腳本的返回值:對象 屬性/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 屬性值確定的子串中開始。例如,假定你使用下面的腳本:

這個腳本顯示如下結果: Found abb. Next match starts at 3

Found ab. Next match starts at 9 例子:

在下面的例子中,用戶輸入一個名字,腳本根據輸入執行匹配操作。接著檢查數組看是否和其它用戶的名字匹配。

本腳本假定已注冊的用戶的姓已經存進了數組A中,或許從一個數據庫中取得。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 栾川县| 博罗县| 胶州市| 交口县| 南雄市| 哈尔滨市| 陕西省| 广昌县| 呈贡县| 宁河县| 无锡市| 北川| 临朐县| 栾川县| 黎川县| 昭苏县| 星座| 房山区| 竹溪县| 永和县| 旬阳县| 成武县| 翼城县| 宜昌市| 榆中县| 东辽县| 文水县| 治多县| 五寨县| 井冈山市| 东兴市| 阿图什市| 五河县| 鹰潭市| 五常市| 楚雄市| 新绛县| 万年县| 广德县| 永新县| 弥勒县|