a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > regex > 正文

正則表達式字符類加深理解

2020-01-20 22:03:38
字體:
來源:轉載
供稿:網友

正則表達式字符類加深理解:
一.基本概念:
字符類相對來說是比較簡單的,但是也有可能由于理解不夠深入或者大意造成一些誤區,下面再來做一下介紹。
字符類[]能夠匹配包含在中括號中的一系列字符中的任意一個,但是匹配的結果只能夠是其中的一個而不是多個,例如:

var str="abcd";var reg=/[abcd]/;console.log(str.match(reg));

以上正則表達式只能夠匹配字符"a"。
二.使用連字符"-":
字符類可以使用連字符"-"來確定一個匹配的范圍,當然使用連字符也是有原則的,前后兩個字符是有順序的,如果使用相同的編碼,后面的字符碼位應大于或等于前面字符的碼位,例如:

[0-9]//正確的
[9-0]//錯誤的

三.字符類中的特殊字符是否需要轉義:
大部分在正則中有特殊意義的字符在匹配其本身時需要進行轉義,例如"."可以匹配任意字符,"$"用來匹配字符串的結尾,在字符類中就不需要進行轉義,代碼實例如下:

var str="abc.efcd";var reg=/c/./g;console.log(str.match(reg));

以上正則中,在點號前面添加了反斜杠進行轉義,所以只會匹配字符串"c.",否則也會匹配"cd"。
但是在字符類中絕大多數元字符都不需要進行轉義,必須要進行轉義的字符只有"/",字符"^"和"-"是否需要轉義要看具體的應用場景,代碼實例如下:
實例一:

var str="ab$c.efcd";var reg=/[$.]/g;console.log(str.match(reg));

以上代碼可以匹配字符串中的"$"和"."本身。
實例二:

var str="a//b$c.efcd";var reg=/[//$.]/g;console.log(str.match(reg));

以上代碼為匹配反斜杠必須要進行轉義。
實例三:

var str="ab-c^569";var reg=/[/^0/-9]/g;console.log(str.match(reg));

在以上代碼中"^"和"-"已經不具有特殊意義了,而是表示它們本身,因為使用了轉義。
實例四:

var str="ab-c^569";var reg=/[-a^c0]/g;console.log(str.match(reg));

上面的代碼"-"和"^"就沒有進行轉義,這是因為它們所在點位置使它們失去了特殊意義。
字符類中也可以使用轉義字符:
代碼實例如下:

var str="abc<|12";var reg=/[/w]/g;console.log(str.match(reg));

特別注意:/b在字符類外表示單詞邊界,但是在字符類內[/b]表示退格符。
四.排除型字符類:
[^]是一個排除型字符類,用以匹配不在中括號中的任一字符,當然匹配結果也只能夠是一個字符,例如:

[^antzone]

以上正則可以匹配除了字符"a"、"n"、"t"、"z"、"o"、"n"和"e"之外的任意字符。
排除型字符類同樣也支持連字符"-",例如:

[^0-9]

可以匹配除了數字之外的其他字符。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一区二区三区在线 | 美女爽到呻吟久久久久 | 国产精品久久久久蜜臀 | 久久精品国产99 | av免费看在线 | 成人区一区二区三区 | 免费av不卡在线 | 日韩和的一区二区 | 国产精品极品美女在线观看免费 | 91亚洲视频 | 免费看性生交大片 | 欧美一区不卡 | 狠狠久久综合 | 免费福利片2019潦草影视午夜 | 91人人| 国产精品视频福利 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 亚洲乱码一区二区 | 噜噜噜天天躁狠狠躁夜夜精品 | 99精品视频在线 | 欧美成人一区二免费视频软件 | 亚洲国产精品久久 | 韩国三级中文字幕hd久久精品 | 暖暖日本在线视频 | 伊人网在线视频 | 日韩不卡在线 | 亚洲精品美女久久 | 夜夜骚 | 久久久国产精品入口麻豆 | 成人天堂资源www在线 | 国产精品美女一区二区三区 | 综合网激情 | 黄色99 | 狠狠操天天干 | 黄色片视频在线观看 | 国产精品久久久久久久娇妻 | 天天看天天爽 | 亚洲专区国产精品 | 国产成人精品一区二区三区网站观看 | 日本久久99 | 天天操天天干天天干 |