最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談正則表達式中的分組和引用實現(xiàn)方法

 更新時間:2019年10月25日 23:21:49   作者:HyG  
由正則表達式如何匹配相同字符出發(fā),講講正則表達式中的選擇、分組和引用,和牛逼的存在缺失很少遇到

問題

在外刊君讀者群中看到有人提出這樣的一個需求:

把字符串切成連續(xù)相同字符的正則怎么寫?比如abbcccdddd切成a,bb,ccc,dddd

之前我對正則表達式也是略有研究,想嘗試一下。其實我對正則表達式的學習基本完全來源于犀牛書的第10章,真正看懂這一章,我覺得操作正則表達式應該不在話下。

我的答案

先給出我的答案吧:

'abbccddd'.match(/(\w)\1*/g) // ["a", "bb", "cc", "ddd"]

說明

拿到這個問題,首先要匹配字符[a-zA-Z0-9],這里直接使用\w。然后是全局匹配,在最后加上g。難點在于怎么判斷重復。

翻看了犀牛書后,又讀了一遍分組和引用的部分。使用小括號()將字符作為一個最小單元,同時小括號還能記憶這個組合相匹配的字符串。再使用反斜杠\引用前面分組的表達式,數(shù)字1表示第一個小括號。這時完成了2個字符重復的要求。最后再使用*來匹配出現(xiàn)0次或n次。這個正則表達式就寫完了。

下面詳細說說分組和引用。

正則表達式的選擇、分組和引用字符表

字符 含義
| 選擇,匹配的是該符號左邊的子表達式或右邊的子表達式
(...) 組合,將幾個項組合為一個單元,這個單元可通過* + ? | 等符號加以修飾,而且可以記住和這個組合相匹配的字符串以提供伺候的引用使用
(?:...) 只組合,把項組合到一個段元,但不記憶與該組相匹配的字符
\n 和第n個分組第一次匹配的字符相匹配,組是圓括號中的子表達式(也有可能是嵌套的),組索引是從左到右的左括號數(shù),(?:形式的分組不編碼

這篇文章就介紹到這了,希望大家以后多多支持腳本之家。

相關文章

  • js mac地址 正則表達式

    js mac地址 正則表達式

    用正則實現(xiàn)的可以匹配mac地址的函數(shù)。
    2009-03-03
  • javascript中使用正則表達式進行字符串驗證示例

    javascript中使用正則表達式進行字符串驗證示例

    我寫的一個表達式驗證示例:功能如下:用戶名,不能為空;密碼6為數(shù)字;密碼確認,兩次輸入密碼必須相同;身份證號碼必須是15位,或者是18位,最末尾也可以是X
    2013-05-05
  • 正則表達式進行頁面表單驗證功能

    正則表達式進行頁面表單驗證功能

    一般做到注冊頁面的時候,當用戶填完信息,都需要對他們的信息進行驗證,這就要用到正則表達式。本文通過實例給大家介紹正則表達式進行頁面表單驗證功能,一起看看吧
    2017-03-03
  • 幾種常見攻擊的正則表達式

    幾種常見攻擊的正則表達式

    這些正則表達式是一些攻擊放過濾使用的,確實不錯,喜歡的朋友可以研究下,不要搞破壞啊,僅供研究學習使用
    2013-09-09
  • 用Javascript正則實現(xiàn)url鏈接的解析類

    用Javascript正則實現(xiàn)url鏈接的解析類

    一個非常健全的 Javascript 鏈接(URL)解析類,他用了正則表達式可以準確獲取一個完整的 URL 中每個部分的內(nèi)容,包括協(xié)議、URL中包含的用戶名和密碼、主機名、端口、路徑名、參數(shù)、錨點(Fragment Anchor)等信息
    2008-06-06
  • Js 小數(shù)驗證函數(shù)代碼(基于正則)

    Js 小數(shù)驗證函數(shù)代碼(基于正則)

    經(jīng)常需要使用JS來驗證一些數(shù)字(OnKeyPress 事件和onblur事件來驗證),寫了兩個事件來驗證,驗證了一般情況。
    2010-05-05
  • 36個正則表達式(開發(fā)效率提高80%)

    36個正則表達式(開發(fā)效率提高80%)

    我們在日常的Java開發(fā)中,經(jīng)常需要處理一些字符串,本文主要介紹了36個常用正則表達式,感興趣的可以了解一下
    2021-11-11
  • 常用的正則表達式集錦

    常用的正則表達式集錦

    正則式太難學,而且容易忘記,很多不太懂正則的朋友,在遇到需要用正則校驗數(shù)據(jù)時,往往是在網(wǎng)上去找很久,結果找來的還是不很符合要求。所以我最近把開發(fā)中常用的一些正則表達式整理了一下,在這里分享一下。自己做個記錄,也給朋友們做個參考。
    2015-06-06
  • 正則表達式(?=)正向先行斷言實戰(zhàn)案例

    正則表達式(?=)正向先行斷言實戰(zhàn)案例

    x(?=y)稱為先行斷言(Positive look-ahead),x只有在y前面才匹配,y不會被計入返回結果,比如要匹配后面跟著百分號的數(shù)字,可以寫成/\d+(?=%)/,這篇文章主要給大家介紹了關于正則表達式(?=)正向先行斷言的相關資料,需要的朋友可以參考下
    2022-11-11
  • 你不一定知道的關于JavaScript的正則表達式

    你不一定知道的關于JavaScript的正則表達式

    關于JavaScript中的正則表達式——,你不一定知道也可能用不到,但說不定哪天就會遭遇的幾個事實【新增一個】
    2010-09-09

最新評論

定州市| 永仁县| 鄄城县| 临泉县| 介休市| 通江县| 通州市| 南汇区| 简阳市| 沙河市| 蓬溪县| 衢州市| 思茅市| 边坝县| 克东县| 长治县| 磴口县| 怀来县| 天镇县| 浦江县| 丹凤县| 临清市| 永宁县| 沽源县| 淄博市| 正安县| 石楼县| 武乡县| 武冈市| 英超| 浦县| 扶风县| 安塞县| 和龙市| 会东县| 孝义市| 西乡县| 偃师市| 沙洋县| 白银市| 惠州市|