摘要:對象表示正則表達式,它是對字符串執行模式匹配的強大工具。方法也可用于改變和重新編譯正則表達式。在下面的這個示例中,定義正則表達式直接量,用來匹配字符串中每個字符。
RegExp對象表示正則表達式,它是對字符串執行模式匹配的強大工具。
RegExp對象用于規定在文本中檢索的內容。
創建RegExp對象有兩種方式:
1.直接量語法:/pattern/attributes
示例:var patt1=/w/g
2.創建 RegExp 對象的語法:new RegExp(pattern, attributes);
示例:var patt1=new RegExp("e","g");
注:
參數 pattern 是一個字符串,指定了正則表達式的模式或其他正則表達式。
參數 attributes 是一個可選的字符串,包含屬性 "g"、"i" 和 "m",分別用于指定全局匹配、區分大小寫的匹配和多行匹配。ECMAScript 標準化之前,不支持 m 屬性。如果 pattern 是正則表達式,而不是字符串,則必須省略該參數。
RegExp對象方法:
1.compile()
compile() 方法用于在腳本執行過程中編譯正則表達式。
compile() 方法也可用于改變和重新編譯正則表達式。
語法:RegExpObject.compile(regexp,modifier),其中regexp是正則表達式,modifier規定匹配的類型
示例1:
var str="Every man in the world! Every woman on earth!"; patt=/man/g; str2=str.replace(patt,"person"); document.write(str2+"
"); patt=/(wo)?man/g; patt.compile(patt); str2=str.replace(patt,"person"); document.write(str2);
輸出:
Every person in the world! Every woperson on earth!
Every person in the world! Every person on earth!
示例2:
var str = "abc12456def45646ghi"; var regExp = new RegExp("[a-z]+"); document.writeln( regExp.exec(str) ); // abc // 更改regExp的正則表達式模式,并進行編譯 // 這與下列語句的作用是相同的:regExp = /d+/; regExp.compile("d+"); document.writeln( regExp.exec(str) ); // 12456
2.exec()
exec() 方法用于檢索字符串中的正則表達式的匹配。
語法:RegExpObject.exec(string) 其中string為要檢索的字符串
tip:該方法返回一個數組,其中存放匹配的結果。如果未找到匹配,則返回值為 null。
示例1:
var text ="hello w3cschool"; var pattern =/(..)cs(.)/g; var results=pattern.exec(text); console.log(results.index); console.log(results.input); console.log(results[0]); console.log(results[1]); console.log(results[2]);
示例2:
引自--http://sentsin.com/web/142.html
var s = "javascript"; // 測試使用的字符串直接量 var r = /w/g; // 匹配模式 while((a = r.exec(s)) != null){ // 循環執行匹配操作 alert(a[0] + " " + a.index + " " + r.lastIndex); /* 顯示每次匹配操作時返回的結果數組信息*/ }
tiP:當執行全局匹配模式時,exec的行為就略有變化。這時它會定義lastIndex屬性,以指定下一次執行匹配時開始檢索字符串的位置。在找到了與表達式相匹配的文本之后,exec方法將把正則表達式的lastIndex屬性設置為下一次匹配執行的第一個字符的位置。也就是說,可以通過反復地調用exec方法來遍歷字符串中的所有匹配文本。當exec再也找不到匹配的文本時,將返回null,并且把屬性lastIndex重置為0。
在下面的這個示例中,定義正則表達式直接量,用來匹配字符串s中每個字符。在循環結構的條件表達式中反復執行匹配模式,并將返回結果的值是否為null作為循環條件。當返回值為null時,說明字符串檢測完畢。然后,讀取返回數組a中包含的匹配子字符串,并調用該數組的屬性index和lastIndex,其中index顯示當前匹配子字符串的起始位置,而lastIndex屬性顯示下一次匹配操作的起始位置。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81937.html
摘要:選擇分組和引用正則表達式的語法還包括指定選擇項子表達式分組和引用前一子表達式的特殊字符。帶圓括號的表達式的另一個用途是允許在同一正則表達式的后部引用前面的子表達式。 正則表達式(regular expression)是一個描述字符模式的對象。JavaScript的 RegExp類 表示正則表達式,String和RegExp都定義了方法,后者使用正則表達式進 行強大的模式匹配和文本檢索與...
摘要:如果遇到非常的復雜的匹配,正則表達式的優勢就更加明顯了。關于正則表達式書寫規則,可查看,上面說的很清楚了,我就不貼出來了。替換與正則表達式匹配的子串,并返回替換后的字符串。結語正則表達式并不難,懂了其中的套路之后,一切都變得簡單了。 前言 在正文開始前,先說說正則表達式是什么,為什么要用正則表達式?正則表達式在我個人看來就是一個瀏覽器可以識別的規則,有了這個規則,瀏覽器就可以幫我們判斷...
摘要:正則表達式的意義中的正則表達式使用表示,可以使用構造函數來創建對象,不過對象更多的是通過一種特殊的直接量語法來創建。用構造函數也可以定義一個與之等價的正則表達式,代碼如下正則表達式的模式規則是由一個字符序列組成的。 正則表達式的模式匹配 正則表達式(regular expression)是一個描述字符模式的對象。javascript的RegExp對象表示正則表達式,String和Reg...
Javascript的正則表達式是前端中比較重要的部分,正則表達式主要用于字符串處理,表單驗證等場合,實用高效,文章主要對JavaScript中的正則的學習與總結 正則表達式的定義 正則表達式:是一個描述字符模式的對象,JavaScrip中正則表達式用RegExp對象表示,可以使用RegExp構造函數來創建正則對象 正則表達式的創建 1.字面量創建 var reg = /[a-z]/; 2.構...
摘要:返回是一個只讀的布爾值,看這個正則表達式是否帶有修飾符。方法,它的參數是一個字符串,用對某個字符串進行檢測,如果包含正則表達式的一個匹配結果,則返回,否則返回。總結這次主要是說說,中正則表達式對象的個屬性,而最需要注意的就是屬性了。 說明 這篇文章,主要和大家聊聊JavaScript中RegExp對象的屬性。 解釋 每個RegExp對象都包含5個屬性,source、global、ign...
閱讀 1525·2021-11-22 09:34
閱讀 3327·2021-09-29 09:35
閱讀 572·2021-09-04 16:40
閱讀 2917·2019-08-30 15:53
閱讀 2590·2019-08-30 15:44
閱讀 2588·2019-08-30 14:10
閱讀 1334·2019-08-29 18:43
閱讀 2211·2019-08-29 13:26