欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2016年03月16日 16:26:28   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇盤(pán)點(diǎn)javascript 正則表達(dá)式中 中括號(hào)的【坑】。小編覺(jué)得總結(jié)的不錯(cuò)?,F(xiàn)在分享給大家,希望能給大家一個(gè)參考

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

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

 

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

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

 

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

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

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

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

 

對(duì)了,任意字符可以用 [\s\S]代替。

以上這篇盤(pán)點(diǎn)javascript 正則表達(dá)式中 中括號(hào)的【坑】就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • cocos2dx骨骼動(dòng)畫(huà)Armature源碼剖析(一)

    cocos2dx骨骼動(dòng)畫(huà)Armature源碼剖析(一)

    cocos2dx中的骨骼動(dòng)畫(huà)在程序中使用非常方便,從編輯器(cocostudio或flash插件dragonBones)得到xml或json數(shù)據(jù),調(diào)用代碼就可以直接展示出動(dòng)畫(huà)效果,下面通過(guò)本篇文章給大家分享cocos2dx骨骼動(dòng)畫(huà)Armature源碼剖析,需要的朋友一起來(lái)學(xué)習(xí)吧。
    2015-09-09
  • JS簡(jiǎn)單獲取并修改input文本框內(nèi)容的方法示例

    JS簡(jiǎn)單獲取并修改input文本框內(nèi)容的方法示例

    這篇文章主要介紹了JS簡(jiǎn)單獲取并修改input文本框內(nèi)容的方法,結(jié)合實(shí)例形式分析了JavaScript針對(duì)頁(yè)面元素的獲取、賦值等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • javascript實(shí)現(xiàn)的文字加密解密

    javascript實(shí)現(xiàn)的文字加密解密

    javascript實(shí)現(xiàn)的文字加密解密...
    2007-06-06
  • JS基于對(duì)象的鏈表實(shí)現(xiàn)與使用方法示例

    JS基于對(duì)象的鏈表實(shí)現(xiàn)與使用方法示例

    這篇文章主要介紹了JS基于對(duì)象的鏈表實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式分析了鏈表的原理及javascript定義與使用鏈表的相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • js設(shè)置function參數(shù)默認(rèn)值(適合沒(méi)有傳參情況)

    js設(shè)置function參數(shù)默認(rèn)值(適合沒(méi)有傳參情況)

    div+css模擬js信息框的類(lèi)庫(kù)時(shí)遇到一個(gè)問(wèn)題當(dāng)沒(méi)有傳遞參數(shù)過(guò)去時(shí)自動(dòng)使用提示信息作為窗口標(biāo)題,具體的實(shí)現(xiàn)如下
    2014-02-02
  • JavaScript中剩余參數(shù)的使用詳解

    JavaScript中剩余參數(shù)的使用詳解

    JavaScript中的剩余參數(shù)一般使用在**賦值號(hào)右側(cè),或具有迭代屬性的數(shù)組、函數(shù)和對(duì)象,這篇文章主要為大家介紹了JavaScript中剩余參數(shù)的具體應(yīng)用,需要的可以參考下
    2023-11-11
  • yii form 表單提交之前JS在提交按鈕的驗(yàn)證方法

    yii form 表單提交之前JS在提交按鈕的驗(yàn)證方法

    很多時(shí)候,需要對(duì)Yii表單model中的對(duì)象設(shè)置的rules進(jìn)行判斷,但是有的時(shí)候可能需要在提交之前就在客戶端進(jìn)行驗(yàn)證。怎么處理呢?接下來(lái)通過(guò)本文給大家分享yii form 表單提交之前JS在提交按鈕的驗(yàn)證方法,需要的的朋友參考下
    2017-03-03
  • 如何在CocosCreator中使用http和WebSocket

    如何在CocosCreator中使用http和WebSocket

    這篇文章主要介紹了在Cocos Creator中使用的Http和WebSocket,對(duì)websocket感興趣的同學(xué),一定要看下
    2021-04-04
  • 微信小程序傳值常用的4種方式

    微信小程序傳值常用的4種方式

    微信小程序開(kāi)發(fā)中的大部分知識(shí)點(diǎn)和前端開(kāi)發(fā)是一模一樣的,這篇文章主要給大家介紹了關(guān)于微信小程序傳值常用的4種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • JS全局變量和局部變量最新解析

    JS全局變量和局部變量最新解析

    這篇文章主要介紹了JS全局變量和局部變量最新解析的相關(guān)知識(shí),本文給給大家補(bǔ)充js刪除局部變量的代碼,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06

最新評(píng)論