国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

盤點(diǎn)javascript 正則表達(dá)式中 中括號的【坑】

2019-11-20 10:23:00
字體:
供稿:網(wǎng)友

在javascript中使用正則時需要注意中括號里邊的一個坑,那就是中括號內(nèi)的元字符問題。自己踩到坑了,網(wǎng)上搜了一下還有不少人踩了這個坑,所以大概說一下。

中括號在正則中稱為字符組(Character class),有的書翻譯為字符類,還有的翻譯成字符集。我覺得字符組更好點(diǎn),畢竟class在計算機(jī)屬于中代表面向?qū)ο罄锏摹邦悺薄n櫭剂x,字符組為一組字符,它表示在一個位置里可能出現(xiàn)的多種字符。注意這里強(qiáng)調(diào)只匹配一個位置哦。(此段摘自-http://www.cnblogs.com/snandy/p/3662423.html)

 

用到一個取任意字符的地方,于是用了[./n]*   結(jié)果  test一下 返回true,但是放到具體的環(huán)境當(dāng)中不對。。。。。。哎呀我去,不可以理解了。

果斷測試一下   var testp = /xx>[./n]*/    testp.test("xx>asdfdfasd");  果斷還是 true,把"xx>"放后面也是true,但是,兩邊都放上就是false。這是為什么呢??????

 

于是又重新 搞下var testp = /(xx>[./n]*)/這個,改一下加個括號就可以捕獲匹配的串串了。test完了,RegExp.$1一下特么發(fā)現(xiàn) 是空。。。。。是空。。。。為啥呢????

當(dāng)把test的字符串參數(shù)變成("...........")時,這串點(diǎn)出現(xiàn)了,所以呢,這個中括號里邊點(diǎn)就只代表點(diǎn),不代表別的,不是元字符除/n以外的單字符的意思了。于是網(wǎng)上搜了一下:

“很多元字符在字符組內(nèi)都變成了普通字符”  對它變成了普通字符了,而不是元字符了,還有其他的像  "?","+","*"這幾個一旦放到中括號也變成了普通的字符了。

所以這個坑還是要當(dāng)心啊。。。。

 

對了,任意字符可以用 [/s/S]代替。

以上這篇盤點(diǎn)javascript 正則表達(dá)式中 中括號的【坑】就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 台湾省| 堆龙德庆县| 新田县| 惠东县| 阜城县| 蛟河市| 乌鲁木齐县| 辛集市| 镇安县| 乐清市| 鞍山市| 雅江县| 琼海市| 买车| 乐都县| 巫溪县| 凤阳县| 陆川县| 克什克腾旗| 东阳市| 灵川县| 赤城县| 衡南县| 玉树县| 本溪| 靖江市| 微山县| 连平县| 石嘴山市| 祁东县| 乌海市| 方山县| 洛阳市| 三河市| 西林县| 大竹县| 瑞丽市| 故城县| 洛扎县| 武陟县| 神池县|