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

溫馨提示×

溫馨提示×

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

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

javascript正則表達式的字符匹配

發布時間:2020-06-11 12:10:03 來源:億速云 閱讀:405 作者:Leah 欄目:web開發

今天小編給大家分享的是javascript正則表達式的字符匹配,相信大部分人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,話不多說,一起往下看吧。

正則表達式是匹配模式,可以匹配字符,可以匹配位置。

下面主要介紹匹配字符的情況,匹配位置的情況我也正在學習中。

兩種模糊匹配:

1.橫向模糊匹配:一個正則可匹配的字符串的長度不是固定的。其實現方式是使用量詞。比如說{m,n}是指字符最少連續出現m次,最多n次。

如/ab{2,5}c/ 表示匹配這樣一個字符串:第一個字符是 “a”,接下來是 2 到 5 個字符 “b”,最后是字符 “c”。

例如:(大家可以手動試一下,想想會得到哪些結果)

var regex = /ab{2,5}c/g;
var string = "abc abbc abbbc abbbbc abbbbbc abbbbbbc";
console.log( string.match(regex) );

g是一個修飾符,它表示全局匹配,就是在string里面按順序找到滿足匹配條件的所有的字串。

2.縱向模糊匹配:一個正則可匹配的字符串具體到某一位字符,可以不是一個確定的字符,可以有多種可能。其實現方式是使用字符組

如/a[123]b/表示匹配這樣一個字符串:第一個字符是a,第二個字符可以是’1’,‘2’,'3’中的任何一個,但是只能是一個。

量詞(重復)

1.常見的簡寫形式:

(1){m,} 表示至少出現m次

(2){m} 表示出現m次

(3)? 等價于{0,1} 表示出現或者不出現

(4)+ 等價于{1,} 表示至少出現1次

(5)* 等價于{0,} 表示出現任意次,可以不出現,也可以若干次

2.貪婪匹配與惰性匹配

(1)貪婪匹配:/\d{2,5}/ 表示數字連續出現2-5次,會盡量多的匹配

var regex = /\d{2,5}/g;
var string = "123 1234 12345 123456";
console.log( string.match(regex) );
// => ["123", "1234", "12345", "12345"]

(2)惰性匹配:/\d{2,5}?/ 表示雖然2-5次都可以,但是當2個就夠的時候,就不再嘗試。

var regex = /\d{2,5}?/g;
var string = "123 1234 12345 123456";
console.log( string.match(regex) );
// => ["12", "12", "34", "12", "34", "12", "34", "56"]

javascript正則表達式的字符匹配

字符組

1.范圍表示:

(1)用連字符“-”來省略簡寫,如[123456abcdefGHIJKLM]就可以寫成[1-6a-fG-M]。

(2)注意:若匹配的字符串中有連字符時,要么放開頭,要么放結尾,要么進行轉義-。

2.排除字符組:如[^abc]表示某位字符可以是任何東西,但不能是a,b,c。^脫字符表示求反,也有相應的范圍表示。

3.常見的簡寫形式:

(1)\d表示[0-9]。是一位數字

(2)\D表示[\^0-9]。除數字外的任意字符。

(3)\w表示 [0-9a-zA-Z_]。數字、大小寫字母和下劃線。也稱單詞字符

(4)\W表示[^0-9a-zA-Z_]。非單詞字符

(5)\s表示[ \t\v\n\r\f]。表示空白符,包括空格、水平制表符、垂直制表符、換行符、回車符、換頁符。

(6)\S表示[^ \t\v\n\r\f]。非空白字符

(7). 表示[^\n\r\u2028\u2029]。通配符,表示幾乎任意字符。換行符、回車符、行分隔符和段分隔符除外。

要匹配任意字符,可以使用 [\d\D][\w\W] [^] 中任何的一個。

多選分支

一個模式可以實現橫向和縱向模糊匹配,多選分支可以支持多個子模式任選其一。

具體形式:(p1|p2|p3) p1,p2,p3是子模式。

要注意下面的這個問題。

var regex = /good|goodbye/g;
var string = "goodbye";
console.log( string.match(regex) );

上面這個例子獲得的結果是“good”

var regex = /goodbye|good/g;
var string = "goodbye";
console.log( string.match(regex) );

這個例子獲得的是“goodbye”

我們得到這樣的結論:分支結構也是惰性的,即當前面的匹配上了,后面的就不再嘗試了。

看完上述內容,你們對javascript正則表達式的字符匹配有進一步的了解嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。

向AI問一下細節

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

AI

平湖市| 塘沽区| 简阳市| 隆安县| 乌鲁木齐县| 怀柔区| 金塔县| 桓台县| 临西县| 平昌县| 永宁县| 左权县| 渑池县| 惠水县| 曲靖市| 陇南市| 东乡族自治县| 龙口市| 江都市| 普定县| 波密县| 建昌县| 闵行区| 清河县| 宝兴县| 武陟县| 盐山县| 拉孜县| 柳州市| 达拉特旗| 新闻| 兴文县| 莱芜市| 同仁县| 漯河市| 晋宁县| 吴忠市| 丹阳市| 淅川县| 博白县| 花莲县|