主頁(yè) > 知識(shí)庫(kù) > 淺談?wù)齽t表達(dá)式中的分組和引用實(shí)現(xiàn)方法

淺談?wù)齽t表達(dá)式中的分組和引用實(shí)現(xiàn)方法

熱門標(biāo)簽:深圳400電話辦理那家好 清遠(yuǎn)陽(yáng)山400電話號(hào)碼如何申請(qǐng) 百度地圖標(biāo)注飯店位置怎么 施工地圖標(biāo)注怎么做 襄陽(yáng)房產(chǎn)電銷機(jī)器人招商 安徽移動(dòng)外呼系統(tǒng) 個(gè)性化地圖標(biāo)注在線 怎么在高德地圖標(biāo)注行走軌跡 百度地圖標(biāo)注名編輯

問(wèn)題

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

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

之前我對(duì)正則表達(dá)式也是略有研究,想嘗試一下。其實(shí)我對(duì)正則表達(dá)式的學(xué)習(xí)基本完全來(lái)源于犀牛書(shū)的第10章,真正看懂這一章,我覺(jué)得操作正則表達(dá)式應(yīng)該不在話下。

我的答案

先給出我的答案吧:

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

說(shuō)明

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

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

下面詳細(xì)說(shuō)說(shuō)分組和引用。

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

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

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

您可能感興趣的文章:
  • 正則表達(dá)式之分組的回溯引用問(wèn)題
  • 詳解JavaScript正則表達(dá)式之分組匹配及反向引用
  • 正則表達(dá)式分組與引用的使用

標(biāo)簽:臨夏 黑河 南昌 中衛(wèi) 駐馬店 延邊 欽州 阜陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談?wù)齽t表達(dá)式中的分組和引用實(shí)現(xiàn)方法》,本文關(guān)鍵詞  淺談,正則,表達(dá)式,中的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談?wù)齽t表達(dá)式中的分組和引用實(shí)現(xiàn)方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于淺談?wù)齽t表達(dá)式中的分組和引用實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章