国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - js教程 - 一個關(guān)于JS正則匹配的踩坑記錄

一個關(guān)于JS正則匹配的踩坑記錄

2022-02-28 16:46我叫宋大宗 js教程

這篇文章主要給大家介紹了一個關(guān)于JS正則匹配的踩坑記錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

最近發(fā)現(xiàn)在JS里的正則匹配有一個坑,而且當(dāng)時很莫名奇妙,一度讓我懷疑出現(xiàn)了靈異事件。

下面是踩坑代碼

?
1
2
3
4
5
6
7
var str=["二七1","二七2","金水","二七3","二七4","二七5"]
     var reg=new RegExp("二七","g");
     for(var i=0;i<str.length;i++){
         if(reg.test(str[i])){
             console.log(str[i])
         }
     }

我用正則對str進(jìn)行全局匹配,當(dāng)滿足的時候打印出來,于是乎我就得到了這個

一個關(guān)于JS正則匹配的踩坑記錄

莫名的少了兩個,然后我對它進(jìn)行單獨(dú)的判斷

?
1
2
3
4
5
6
7
8
9
10
11
12
13
var str=["二七1","二七2","金水","二七3","二七4","二七5"]
  var reg=new RegExp("二七","g");
  for(var i=0;i<str.length;i++){
      if(reg.test(str[i])){
          console.log(str[i])
      }
      if(i==1){
          console.log(reg.test(str[i]))
      }
      if(i==4){
          console.log(reg.test(str[i]))
      }
  }

于是我得到了這個

一個關(guān)于JS正則匹配的踩坑記錄

又少了一個,但可以看到之前所缺失的兩個是滿足正則判斷的,然后我在網(wǎng)上找到了下面這段話:

如果在正則匹配中成功匹配到字符串,lastIndex會被設(shè)置為第一次匹配到的字符串的位置,以作為字符串全局匹配下次檢索的起點(diǎn),如果后面字段還能匹配成功,那么lastIndex會被反復(fù)重新賦值,直到匹配失敗,它會被重置為0;

但我去請教了一下我的老師,他告訴我的是匹配到后是將lastIndex+1返回過去,也就是當(dāng)我第一次匹配到后,lastIndex是2,這個2是字符串里的下標(biāo),而不是數(shù)組的下標(biāo),所以在對str[1]進(jìn)行判斷時是從字符串下標(biāo)為2的開始,而不是從0開始,所以第二次判斷為false,這時匹配失敗,lastIndex被置為0,所以第三次可以匹配成功。

所以在判斷結(jié)果為true后將lastIndex置為0,這樣數(shù)據(jù)就正常了。

一個關(guān)于JS正則匹配的踩坑記錄

數(shù)據(jù)就正常了。

總結(jié)

如果使用全局匹配,那么在每一次查到后將lastIndex置零,或者不使用全局匹配,直接匹配即可。

這里奉上網(wǎng)友的總結(jié):

lastIndex從字面上來講就是最后一個索引,實(shí)際上它的意思是正則表達(dá)式開始下一次查找的索引位置,第一次的時候總是為0的,第一次查找完了的時候會把lastIndex的值設(shè)為匹配到得字符串的最后一個字符的索引位置加1,第二次查找的時候會從lastIndex這個位置開始,后面的以此類推。如果沒有找到,則會把lastIndex重置為0。要注意的是,lastIndex屬性只有在有全局標(biāo)志正則表達(dá)式中才有作用,如果我們把上面代碼中正則表達(dá)式的g標(biāo)志去掉,那么三次彈出的就都是true了。

需要的朋友可以參考下,到此這篇關(guān)于一個關(guān)于JS正則匹配的踩坑記錄的文章就介紹到這了,更多相關(guān)JS正則匹配踩坑內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/qq_42649356/article/details/115556817

延伸 · 閱讀

精彩推薦
  • js教程如何利用JavaScript實(shí)現(xiàn)二叉搜索樹

    如何利用JavaScript實(shí)現(xiàn)二叉搜索樹

    這篇文章主要給大家介紹了關(guān)于如何利用JavaScript實(shí)現(xiàn)二叉搜索樹的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)...

    瘋狂的技術(shù)宅7802022-02-22
  • js教程微信小程序?qū)W習(xí)之自定義滾動彈窗

    微信小程序?qū)W習(xí)之自定義滾動彈窗

    這篇文章主要給大家介紹了關(guān)于微信小程序?qū)W習(xí)之自定義滾動彈窗的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考...

    юноша9272021-12-15
  • js教程three.js中多線程的使用及性能測試詳解

    three.js中多線程的使用及性能測試詳解

    這篇文章主要給大家介紹了關(guān)于three.js中多線程的使用及性能測試的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考...

    郭先生的博客4702021-12-28
  • js教程JS數(shù)組索引檢測中的數(shù)據(jù)類型問題詳解

    JS數(shù)組索引檢測中的數(shù)據(jù)類型問題詳解

    這篇文章主要給大家介紹了關(guān)于JS數(shù)組索引檢測中的數(shù)據(jù)類型問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考...

    行舟客11932021-12-29
  • js教程一起來了解一下JavaScript的預(yù)編譯(小結(jié))

    一起來了解一下JavaScript的預(yù)編譯(小結(jié))

    這篇文章主要介紹了一起來了解一下JavaScript的預(yù)編譯(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的...

    前端布吉島12022022-01-25
  • js教程基于JavaScript實(shí)現(xiàn)簡單的輪播圖

    基于JavaScript實(shí)現(xiàn)簡單的輪播圖

    這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)簡單的輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    llt2990225342022-01-25
  • js教程ES6的循環(huán)與可迭代對象示例詳解

    ES6的循環(huán)與可迭代對象示例詳解

    這篇文章主要給大家介紹了關(guān)于ES6的循環(huán)與可迭代對象的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,...

    瘋狂的技術(shù)宅11722022-01-12
  • js教程微信小程序?qū)崿F(xiàn)無縫滾動

    微信小程序?qū)崿F(xiàn)無縫滾動

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)無縫滾動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Edward_Cullens10792022-02-19
主站蜘蛛池模板: 999精品视频| 毛片一级在线 | 久久久精品呻吟 | 91精品国产综合久久香蕉 | 亚洲美女网址 | 欧美成年黄网站色视频 | 精品国产凹凸成av人导航 | 一区二区三区视频免费 | 亚洲精品国产第一综合99久久 | 亚洲精品视频免费在线观看 | 岛国免费| 免费激情 | 99精品欧美一区二区三区综合在线 | 国产精品久久久久久久久久久新郎 | 久久久99精品免费观看 | 国产精品美女久久久av超清 | 国精品一区二区三区 | 亚洲免费观看 | 精品一区二区在线观看 | 国产精品综合视频 | 中文字幕日韩欧美 | 亚洲欧洲精品成人久久奇米网 | 国产在线一区二区三区 | 欧美精品一区二区三区四区 | 国产免费一区二区三区 | 国产成人一区 | av在线视| 亚洲精品专区 | 在线一级片| 成人av小说 | 嫩草影院黄色 | 精品免费视频 | 日韩高清在线 | 91视频在线网址 | 韩国精品 | 色综合中文 | 欧美成人免费网站 | 久久小视频 | 久久艹综合| 日韩一区二区观看 | 亚洲一区二区三区免费视频 |