中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS的構造正則表達式怎么使用

發布時間:2022-09-27 10:59:39 來源:億速云 閱讀:114 作者:iii 欄目:web開發

這篇文章主要介紹“JS的構造正則表達式怎么使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“JS的構造正則表達式怎么使用”文章能幫助大家解決問題。

構造正則表達式

使用RegExp構造函數可以定義正則表達式對象,具體語句格式如下:

new RegExp(pattern, attributes);

參數pattern是一個字符串,指定匹配模式或者正則表達式對象。參數attributes是一個可選的修飾性標志,包含"g""i"和"m"三個選項,分別設置全局匹配、區分大小寫的匹配和多行匹配;如果參數pattern是正則表達式對象,則必須省略該參數。

該函數返回一個新的RegExp對象,該對象包含指定的匹配模式和匹配標志。

示例1

下面示例使用RegExp構造函數定義了一個簡單的正則表達式,匹配模式為字符“a”,沒有設置第二個參數,所以這個正則表達式只能匹配字符串中第一個小寫字母“a”,后面的字母“a”將無法被匹配到。

var r = new RegExp("a");   //構造最簡單的正則表達式var s = "JavaScript != JAVA";  //定義字符串直接量var a = s.match(r);  //調用正則表達式執行匹配操作,返回匹配的數組console.log(a);  //返回數組["a"]console.log(a.index);  //返回值為1,匹配的下標位置

示例2

如果希望匹配字符串中所有的字母a,且不區分大小寫,則可以在第2個參數中設置g和i修飾詞。

var r = new RegExp("a", "gi");  //設置匹配模式為全局匹配,且不區分大小寫var s = "JavaScript != JAVA";  //字符串直接量var a = s.match(r);  //匹配查找console.log(a);  //返回數組["a", "a", "A", "A"]

示例3

在正則表達式中可以使用特殊字符。下面示例的正則表達式將匹配字符串“JavaScript JAVA”中每個單詞的首字母。

var r = new RegExp("\\b\\w", "gi");  //構造正則表達式對象var s = "JavaScript JAVA";  //字符串直接量var a = s.match(r);  //匹配查找console.log(A);  //返回數組["j", "J"]

在上面示例中,字符串"\b\w"表示一個匹配模式,其中“b"表示單詞的邊界,"w"表示任意ASCII字符,反斜杠表示轉義序列。為了避免Regular()構造函數的誤解,必須使用“\”替換所有“”字符,使用雙反斜杠表示斜杠本身的意思。

在腳本中動態創建正則表達式時,使用構造函數RegExp()會更方便。例如,如果檢索的字符串是由用戶輸入的,那么就必須在運行時使用RegExp()構造函數來創建正則表達式,而不能使用其他方法。

示例4

如果RegExp()構造函數的第1個參數是一個正則表達式,則第2個參數可以省略。這時RegExp()構造函數將創建一個參數相同的正則表達式對象。

var r = new RegExp("\\b\\w", "gi");  //構造正則表達式var r1 = new RegExp(r);  //把正則表達式傳遞給RegExp()構造函數var s = "JavaScript JAVA";  //字符串直接量var a = s.match(r);  //匹配查找console.log(a);  //返回數組["j", "J"]

把正則表達式直接量傳遞給RegExp()構造函數,可以進行類型封裝。

示例5

RegExp()也可以作為普通函數使用,這時與使用new運算符調用構造函數功能相同。不過如果函數的參數是正則表達式,那么它僅返回正則表達式,而不再創建一個新的RegExp()對象。

var a = new RegExp("\\b\\w", "gi");  //構造正則表達式對象var b = new RegExp(a);  //對正則表達式對象進行再封裝var c = RegExp(a);  //返回正則表達式直接量console.log(a.constructor == RegExp);  //返回trueconsole.log(b.constructor == RegExp);  //返回trueconsole.log(c.constructor == RegExp);  //返回true

關于“JS的構造正則表達式怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

大方县| 金川县| 勃利县| 交口县| 邛崃市| 龙门县| 屯昌县| 花莲县| 沙田区| 嘉禾县| 凌海市| 和林格尔县| 临安市| 射阳县| 天水市| 德钦县| 白城市| 兰州市| 邳州市| 宁远县| 镇沅| 鄂尔多斯市| 江孜县| 连南| 峨边| 延川县| 唐山市| 肃宁县| 昆山市| 无为县| 句容市| 乐亭县| 绿春县| 青神县| 余干县| 常熟市| 三都| 黄龙县| 东阿县| 巴林左旗| 安国市|