希岛爱理av免费一区二区,成人性教育av免费网址,欧美7777,在线免费日韩片

十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
南昌百恒網絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡微信小程序

百恒網絡

南昌百恒網絡

RegExp構造函數屬性及簡單應用

百恒網絡 2012-03-29 5676

RegExp構造函數包含一些屬性(這些屬性在其他語言中被看成是靜態屬性)。這些屬性適用于作用域中的所有正則表達式,并且基于所執行的最近一次正則表達式操作而變化。關于這些屬性的另一個獨特之處,就是可以通過兩種方式訪問它們。換句話說,這些屬性分別有一個長屬性名和一個短屬性名(Opera是例外,它不支持短屬性名)。下表列出了RegExp構造函數的屬性。

使用這些屬性可以從exec()或test()執行的操作中提取出更具體的信息。請看下面的例子:

var text="this has been a short summer";

var pattern=/(.)hort/g;

/*

*注意:Opera不支持input、lastMatch、lastParen和multiline屬性

*Internet Explorer不支持multiline屬性

*/

if (pattern.test(text)){

alert(RegExp.input); //this has been a short summer

alert(RegExp.leftContext); ,/this has been a

alert (RegExp.rightContext); // summer

alert (RegExp.lastMatch); //short

alert (RegExp.lastParen); //s

alert (RegExp.multiline); //false

}

以上代碼創建了一個模式,匹配任何一個字符后跟hort,而且把第一個字符放在了一個捕獲組中。RegExp構造函數的各個屬性返回了下列值:

◎input屬性返回了原始字符串;

leftContext屬性返回了單詞short之前的字符串,而rightContext屬性則返回了short之后的字符串;

lastMatch屬性返回最近一次與整個正則表達式匹配的字符串,即short;

lastParen屬性返回最近一次匹配的捕獲組,即例子中的s。

如前所述,例子使用的長屬性名都可以用相應的短屬性名來代替。只不過,由于這些短屬性名大都不是有效的ECMAScript標識符,因此必須通過方括號語法來訪問它們,如下所示:

var text='fthis has been a short summer":

var pattern=,(.)hort/g;

/*

南昌建網站公司前端開發工程師提醒廣大站長應該注意:Opera不支持input、lastMatch、lastParen和multiline屬性

*Internet Explorer不支持multiline屬性

*/

if (pattern. test(text)){

alert(RegExp.$_); //this has been a short summer

alert(RegExp[$ "); //this has been a

alert(RegExp["$'"); //summer

alert(RegExp["$&"); //short alert(RegExp["$+"]); //s

alert(RegExp["$*"])}; //false

}

除了上面介紹的幾個屬性之外,還有多達9個用于存儲捕獲組的構造函數屬性。訪問這些屬性偽語法是RegExp.$1、RegExp. $2 "'RegExp. $9,分別用于存儲第一、第二……第九個匹配的捕獲組.在調用exec()或test()方法時,這些屬性會被自動填充。然后,我們就可以像下面這樣來使用它們:

var text="this has been a short summer";

var pattern=/(..)or(.)/g;

if (pattern.test (text)){

alert (RegExp,$l); //sh

alert (RegExp.$2); //t

}

這里創建了一個包含兩個捕獲組的模式,并用該模式測試了一個字符串。即使test()方法只返回一個布爾值,但RegExp構造函數的屬性$1和$2也會被匹配相應捕獲組的字符串自動填充。

希望本文對廣大站長或從事企業網站建設公司的團隊有所幫助,如對此不太理解的,可以與南昌網絡公司百恒網絡技術部聯系。我們很高興與廣大站長和從事企業網站建設公司技術人員分享我們的技術和經驗。


400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡小程序

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×
主站蜘蛛池模板: 曲松县| 浏阳市| 酒泉市| 吉水县| 涡阳县| 陆川县| 周宁县| 阿拉善左旗| 璧山县| 增城市| 西和县| 青浦区| 德清县| 南京市| 喀喇| 梧州市| 大渡口区| 邵阳市| 革吉县| 黄浦区| 古丈县| 湖南省| 曲周县| 大安市| 黄大仙区| 洞口县| 延寿县| 沐川县| 龙井市| 麻城市| 南宫市| 宝鸡市| 台前县| 井冈山市| 宾阳县| 平度市| 青岛市| 营山县| 石屏县| 荥经县| 咸阳市|