大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 JS的構造正則表達式

JS的構造正則表達式

更新時間:2021-07-20 16:50:03 來源:動力節點 瀏覽1149次

構造正則表達式

使用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);  //返回true
console.log(b.constructor == RegExp);  //返回true
console.log(c.constructor == RegExp);  //返回true

以上就是動力節點小編介紹的"JS的構造正則表達式",希望對大家有幫助,想了解更多可查看JavaScript教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 99国产精品欧美久久久久久影院 | 不卡视频在线观看 | 四虎影视成人永久在线播放 | 欧美做爰孕妇群 | 亚洲中字在线 | 5g影院天天5g天天爽精品 | 91人人看 | 国产成人一区二区三区视频免费蜜 | 中文字暮文字暮 | 精品视频一二三区 | 亚洲精品国产suv一区88 | 奇米影视亚洲春色 | 精品欧美一区二区在线观看 | 亚洲一区视频在线播放 | 精品国产91久久久久久久a | 黄频网站在线观看视频 | a级高清观看视频在线看 | 国产成人精品久久一区二区三区 | 亚洲国产视频在线 | 国产亚洲一区二区三区在线 | 99资源| 免费一级特黄3大片视频 | 一级特黄aaa大片29 | 国产精品一区在线播放 | 婷婷 综合 | 久久久久青草线蕉亚洲麻豆 | 欧美特级特黄a大片免费 | 波多野结衣一区2区3区 | 日韩欧美一级毛片视频免费 | 欧美在线一级毛片视频 | 日本黄色aa | 97夜夜操| 久青草国产手机在线观 | 国产欧美在线不卡 | 国产欧美成人 | 久久综合综合 | 99久久综合精品免费 | 中国一级毛片欧美一级毛片 | 在线播放国产视频 | 国产永久一区二区三区 | 老子不卡影院 |