成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

快速掌握正則表達(dá)式 | 02 掌握進(jìn)階的匹配操作

wayneli / 2205人閱讀

摘要:元字符使正則表達(dá)式具有處理能力。所謂元字符就是指那些在正則表達(dá)式中具有特殊意義的專用字符,可以用來規(guī)定其前導(dǎo)字符即位于元字符前面的字符在目標(biāo)對象中的出現(xiàn)模式。

掌握進(jìn)階的匹配操作

正則表達(dá)式真好玩,上一篇大家應(yīng)該掌握了一些基礎(chǔ)的操作,想必應(yīng)該掌握的還不錯,那么本篇帶你掌握一些進(jìn)階操作。

介紹元字符

正則表達(dá)式語言由兩種基本字符類型組成:原義(正常)文本字符和元字符。

元字符使正則表達(dá)式具有處理能力。

所謂元字符就是指那些在正則表達(dá)式中具有特殊意義的專用字符,可以用來規(guī)定其前導(dǎo)字符(即位于元字符前面的字符)在目標(biāo)對象中的出現(xiàn)模式。

以上關(guān)于元字符的介紹內(nèi)容來自網(wǎng)絡(luò),僅供參考。

而本次要介紹的元字符是 [](和),有什么作用呢?

上一篇我們了解到可以通過英文句號 . 來匹配任意字符,但有時候我們就很明確從某些字符里面匹配就好了。比如我們就只想匹配 C 和 H 兩個字符。

在正則表達(dá)式里面,我們可以通過元字符 [] 來定義一個字符集合。這樣就能夠匹配集合里面的成員了。

直接看例子吧:

let str = "Chocolate wants 100,000 fans, Chocolate love chocolate";let reg = /[Cc]hocolate/g;let res = str.match(reg);console.log(res); // ["Chocolate", "Chocolate", "chocolate"]

從結(jié)果我們可以發(fā)現(xiàn),匹配到了 chocolate,首字母大小寫均可。

接下來開始我們的例子可能會變成數(shù)組了,如下:

let arr = ["Choco","choco", "nhoco", "yhoco", "hearling"];let reg = /[Ccyn]hoco/g;let res = arr.filter(item=>item.match(reg));console.log(res); // ["Choco", "choco", "nhoco", "yhoco"]

以上例子也是比較清楚了,想必對于元字符和的概念應(yīng)該掌握不錯了。

掌握這個知識之后,你就可以匹配已知的多個字符中的某一個了,并且也可以縮小全局匹配字母大小寫問題的范圍。

匹配數(shù)字

在之前的內(nèi)容,我們好像一直都是匹配字符串中的字母,沒有匹配過數(shù)字問題,那么現(xiàn)在就來利用元字符來解決匹配數(shù)字的一系列問題。

直接來看例子吧:

let arr = ["choco1","choco2", "nhoco3", "yhoco6", "hearling"];let reg = /[Ccyn]hoco[0123456789]/g;let res = arr.filter(item=>item.match(reg));console.log(res); // ["choco1", "choco2", "nhoco3", "yhoco6"]

我們通過 [] 定義了數(shù)字類的集合,比較好理解,就不多解釋了。

但這樣寫法會不會覺得有點麻煩呢?可以省略點寫嘛。

當(dāng)然可以,直接給出如下例子:

let arr = ["choco1","choco2", "nhoco3", "yhoco6", "hearling"];let reg = /[Ccyn]hoco[0-9]/g;let res = arr.filter(item=>item.match(reg));console.log(res); // ["choco1", "choco2", "nhoco3", "yhoco6"]

集合區(qū)間

我們可以在集合中通過 0-9 來進(jìn)行數(shù)字集合的省略,這個做法就叫做利用字符集合區(qū)間。

當(dāng)然,有數(shù)字集合也會有字母集合,如下:

A-Z,a-z 等等其它集合區(qū)間,但是得注意如果你想包括字母大小寫的話,像 A-z 這樣是不行的,可以查看 ASCII 字符表,Z 到 a 這個不是連續(xù)的,還會有其它字符,所以一般這樣是不行的。

有這些組合了,想必大家也能寫出很多一些進(jìn)階的匹配了,在這里我就不舉例子了,大家掌握這個知識即可。

區(qū)間之外

送你離開,千里之外…

上一小節(jié)我們掌握了區(qū)間的使用,但這是我們知道的區(qū)間,對于區(qū)間之外的呢?

或者說有時候我們知道我們自己除開字母了其它的都想匹配,或者除開數(shù)字了其它都想匹配,這又該如何做呢?

如果你是暴力大法的忠實粉絲,你可能會枚舉全部的情況,但有時候能考慮完全嘛?顯然不可以。

其實很簡單,取個反不就好了嗎?直接看如下例子:

let arr = ["choco1","chocol", "nhoco3", "yhoco6", "hearling"];let reg = /[Ccyn]hoco[^0-9]/g;let res = arr.filter(item=>item.match(reg));console.log(res); // ["chocol"]

看例子,取反字符為 ^。本例子是將最后一個字符匹配非數(shù)字的,通過取反操作方便了許多,不用暴力考慮很多種情況了。

小結(jié)

蕪湖,本小節(jié)內(nèi)容到底就結(jié)束啦,感謝各位的閱讀,我們期待下一篇吧。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/123721.html

相關(guān)文章

  • 正則達(dá)式

    摘要:最全正則表達(dá)式總結(jié)驗證號手機號中文郵編身份證地址等是正則表達(dá)式的縮寫,作用是對字符串執(zhí)行模式匹配。學(xué)習(xí)目標(biāo)了解正則表達(dá)式語法在中使用正則表達(dá)式在中使 JS高級技巧 本篇是看的《JS高級程序設(shè)計》第23章《高級技巧》做的讀書分享。本篇按照書里的思路根據(jù)自己的理解和經(jīng)驗,進(jìn)行擴展延伸,同時指出書里的一些問題。將會討論安全的類型檢測、惰性載入函數(shù)、凍結(jié)對象、定時器等話題。1. 安全的類型檢測...

    yibinnn 評論0 收藏0
  • 一名【合格】前端工程師自檢清單

    摘要:在他的重學(xué)前端課程中提到到現(xiàn)在為止,前端工程師已經(jīng)成為研發(fā)體系中的重要崗位之一。大部分前端工程師的知識,其實都是來自于實踐和工作中零散的學(xué)習(xí)。一基礎(chǔ)前端工程師吃飯的家伙,深度廣度一樣都不能差。 開篇 前端開發(fā)是一個非常特殊的行業(yè),它的歷史實際上不是很長,但是知識之繁雜,技術(shù)迭代速度之快是其他技術(shù)所不能比擬的。 winter在他的《重學(xué)前端》課程中提到: 到現(xiàn)在為止,前端工程師已經(jīng)成為研...

    羅志環(huán) 評論0 收藏0
  • 一名【合格】前端工程師自檢清單

    摘要:在他的重學(xué)前端課程中提到到現(xiàn)在為止,前端工程師已經(jīng)成為研發(fā)體系中的重要崗位之一。大部分前端工程師的知識,其實都是來自于實踐和工作中零散的學(xué)習(xí)。一基礎(chǔ)前端工程師吃飯的家伙,深度廣度一樣都不能差。開篇 前端開發(fā)是一個非常特殊的行業(yè),它的歷史實際上不是很長,但是知識之繁雜,技術(shù)迭代速度之快是其他技術(shù)所不能比擬的。 winter在他的《重學(xué)前端》課程中提到: 到現(xiàn)在為止,前端工程師已經(jīng)成為研發(fā)體系...

    isaced 評論0 收藏0
  • 正則達(dá)式

    摘要:本文內(nèi)容共正則表達(dá)式火拼系列正則表達(dá)式回溯法原理學(xué)習(xí)正則表達(dá)式,是需要懂點兒匹配原理的。正則表達(dá)式迷你書問世了讓幫你生成和解析參數(shù)字符串最全正則表達(dá)式總結(jié)驗證號手機號中文郵編身份證地址等是正則表達(dá)式的縮寫,作用是對字符串執(zhí)行模式匹配。 JS 的正則表達(dá)式 正則表達(dá)式 一種幾乎可以在所有的程序設(shè)計語言里和所有的計算機平臺上使用的文字處理工具。它可以用來查找特定的信息(搜索),也可以用來查...

    bang590 評論0 收藏0
  • 12個優(yōu)秀資源助你迅速掌握正則達(dá)式

    摘要:給開發(fā)人員使用的正則表達(dá)式測試儀。一個令人非常興奮的項目,可以改變開發(fā)人員使用正則表達(dá)式的方式。它的目的是使正則表達(dá)式易于閱讀和使用命令編寫。實時的正則表達(dá)式測試工具,支持,,和。 正則表達(dá)式是每個程序開發(fā)人員的必備技能。任何開發(fā)項目,不管使用什么編程語言,都需要從給定的數(shù)據(jù)提取值并進(jìn)行驗證。例如對輸入內(nèi)容的驗證,過濾 URL 變量等等,正則表達(dá)式處理這樣的任務(wù)很容易,而且只需要很少的...

    zoomdong 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<