JS的构造正则表达式怎么使用
這篇文章主要介紹“JS的構造正則表達式怎么使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“JS的構造正則表達式怎么使用”文章能幫助大家解決問題。
構造正則表達式
使用RegExp構造函數可以定義正則表達式對象,具體語句格式如下:
newRegExp(pattern,attributes);
參數pattern是一個字符串,指定匹配模式或者正則表達式對象。參數attributes是一個可選的修飾性標志,包含"g""i"和"m"三個選項,分別設置全局匹配、區分大小寫的匹配和多行匹配;如果參數pattern是正則表達式對象,則必須省略該參數。
該函數返回一個新的RegExp對象,該對象包含指定的匹配模式和匹配標志。
示例1
下面示例使用RegExp構造函數定義了一個簡單的正則表達式,匹配模式為字符“a”,沒有設置第二個參數,所以這個正則表達式只能匹配字符串中第一個小寫字母“a”,后面的字母“a”將無法被匹配到。
varr=newRegExp("a");//構造最簡單的正則表達式vars="JavaScript!=JAVA";//定義字符串直接量vara=s.match(r);//調用正則表達式執行匹配操作,返回匹配的數組console.log(a);//返回數組["a"]console.log(a.index);//返回值為1,匹配的下標位置
示例2
如果希望匹配字符串中所有的字母a,且不區分大小寫,則可以在第2個參數中設置g和i修飾詞。
varr=newRegExp("a","gi");//設置匹配模式為全局匹配,且不區分大小寫vars="JavaScript!=JAVA";//字符串直接量vara=s.match(r);//匹配查找console.log(a);//返回數組["a","a","A","A"]
示例3
在正則表達式中可以使用特殊字符。下面示例的正則表達式將匹配字符串“JavaScript JAVA”中每個單詞的首字母。
varr=newRegExp("\\b\\w","gi");//構造正則表達式對象vars="JavaScriptJAVA";//字符串直接量vara=s.match(r);//匹配查找console.log(A);//返回數組["j","J"]
在上面示例中,字符串"\b\w"表示一個匹配模式,其中“b"表示單詞的邊界,"w"表示任意ASCII字符,反斜杠表示轉義序列。為了避免Regular()構造函數的誤解,必須使用“\”替換所有“”字符,使用雙反斜杠表示斜杠本身的意思。
在腳本中動態創建正則表達式時,使用構造函數RegExp()會更方便。例如,如果檢索的字符串是由用戶輸入的,那么就必須在運行時使用RegExp()構造函數來創建正則表達式,而不能使用其他方法。
示例4
如果RegExp()構造函數的第1個參數是一個正則表達式,則第2個參數可以省略。這時RegExp()構造函數將創建一個參數相同的正則表達式對象。
varr=newRegExp("\\b\\w","gi");//構造正則表達式varr1=newRegExp(r);//把正則表達式傳遞給RegExp()構造函數vars="JavaScriptJAVA";//字符串直接量vara=s.match(r);//匹配查找console.log(a);//返回數組["j","J"]
把正則表達式直接量傳遞給RegExp()構造函數,可以進行類型封裝。
示例5
RegExp()也可以作為普通函數使用,這時與使用new運算符調用構造函數功能相同。不過如果函數的參數是正則表達式,那么它僅返回正則表達式,而不再創建一個新的RegExp()對象。
vara=newRegExp("\\b\\w","gi");//構造正則表達式對象varb=newRegExp(a);//對正則表達式對象進行再封裝varc=RegExp(a);//返回正則表達式直接量console.log(a.constructor==RegExp);//返回trueconsole.log(b.constructor==RegExp);//返回trueconsole.log(c.constructor==RegExp);//返回true
總結
以上是生活随笔為你收集整理的JS的构造正则表达式怎么使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos7上配置Samba服务器完成
- 下一篇: 3DMAX怎么制作车轮胎与地面磨擦产生出