jsRegex

來源:互聯網
上載者:User

標籤:

基本概念:所謂Regex就是用某種模式去匹配一類字串的一個公式。

Regex建立:

var regExp=/Regex/gi[flag]  (隱式建立)

var regExp=new regExp(Regex,”gi”);  (顯示建立)

flag ---->g全域標誌

i忽略大小寫

m用作多行標誌

 

RegExp對象的屬性:

RegExp對象屬性分為靜態屬性和執行個體屬性,所謂靜態屬性是指可以通過RegExp訪問,執行個體屬性是指通過RegExp對象執行個體才能訪問使用。

靜態屬性:

1、index 是當前運算式模式最初相符內容的開始位置,從0開始計數。其初始值為-1,每次匹配成功時,index屬性都會隨之改變。

2、lastindex 是當前運算式模式最初相符內容中最後一個字元的下一個位置。

3、input 返回當前所作用的字串。

4、 leftContext 是當前運算式模式最後一個匹配字串左邊的所有內容。

5、rightContext 是當前運算式模式最後一個匹配字串右邊的所有內容。

 

js的exec()函數:

用法:用於檢索字串中Regex的匹配。

文法:RegExpObject.exec(string)  //string是要檢索的字串

傳回值:返回一個數組,其中存放匹配的結果。如果未找到匹配,則返回null。

說明:

如果 exec() 找到了匹配的文本,則返回一個結果數組。否則,返回 null。此數組的第 0 個元素是與Regex相匹配的文本,第 1 個元素是與 RegExpObject 的第 1 個子運算式相匹配的文本(如果有的話),第 2 個元素是與 RegExpObject 的第 2 個子運算式相匹配的文本(如果有的話),以此類推。除了數組元素和 length 屬性之外,exec() 方法還返回兩個屬性。index 屬性聲明的是匹配文本的第一個字元的位置。input 屬性則存放的是被檢索的字串 string。

當 RegExpObject 是一個全域Regex時,exec() 的行為就稍微複雜一些。它會在 RegExpObject 的 lastIndex 屬性指定的字元處開始檢索字串 string。當 exec() 找到了與運算式相匹配的文本時,在匹配後,它將把 RegExpObject 的 lastIndex 屬性設定為匹配文本的最後一個字元的下一個位置。這就是說,您可以通過反覆調用 exec() 方法來遍曆字串中的所有匹配文本。當 exec() 再也找不到匹配的文本時,它將返回 null,並把 lastIndex 屬性重設為 0。

如:

RegExp=/\d{4}/gi;

res=RegExp.exec(“we3456s”);

res.index=2; //匹配串的開始位置

res.lastIndex=6; //檢索下一個匹配串的開始位置

RegExp的lastIndex的初始值為0,每找到一個匹配的串就修改一次lastIndex的值為當前匹配串的下一個字元位置。如果在一個字串中完成了一次模式比對之後要開始檢索新的字串,就必須手動地把 lastIndex 屬性重設為 0。

jsRegex

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.