精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

「正則」初探正則匹配的魅力

開發(fā) 前端
今天給大家分享,簡(jiǎn)單的介紹如何入門正則表達(dá)式Regex,趕緊動(dòng)手學(xué)起來(lái)吧。

[[396560]]

大家好,我是TianTian。

今天要分享的內(nèi)容是正則表達(dá)式Regex。

某天中午正要拿起手機(jī)打把王者榮耀,突然微信來(lái)了條消息!

某位網(wǎng)友來(lái)電,問(wèn)我能不能幫忙看個(gè)字符串匹配的問(wèn)題。

我硬著頭皮答應(yīng)了,可是,我看到題目的時(shí)候。

[[396561]]

題目大概需要匹配檢索的是:

  • =A12/B14/D14..../H18
  • =C12 * D12 * H16...*F19

嗯,我翻開了我多年沒(méi)有碰的正則手冊(cè)。

初探Regex

首先,先簡(jiǎn)單介紹一下:

  • 正則表達(dá)式(也稱為regex或regexp)只是一種模式,可用于匹配字符的不同且通常是特定的組合。

我們可以使用這些模式來(lái)檢查和處理字符串,如何檢索呢,我們得知道如何構(gòu)造,創(chuàng)建正則表達(dá)式可能看起來(lái)像這樣:

  1. let dog; 
  2. rat = /dog/; 
  3. rat = new RegExp("dog"); 

有了表達(dá)式,那么我們?nèi)绾纹ヅ淠兀?dāng)然正則表達(dá)式有自己的可用方法,也可以在某些字符串方法中使用它們。

例如,.test是可用于正則表達(dá)式的方法。它返回是否在字符串中找到正則表達(dá)式的布爾值:

  1. let rat = /dog/; 
  2. rat.test('I saw a dog!');  // returns true 
  3. /rat/.test('I saw a dog!');  // returns true 

上面兩種調(diào)用.test的方式是等效的:也就是說(shuō),可以使用分配給regexp的變量或直接使用regexp來(lái)調(diào)用它。對(duì)于正則表達(dá)式的任何使用都是如此。重要的是要注意,正則表達(dá)式匹配必須精確,包括任何換行符,大寫字母和空白。例如:

  1. /dog/.test('I saw some dogs!');  // returns true 
  2. /dog/.test('Meet at the bad og 9');  // returns false 
  3. /dog/.test('Rats and doihs are not friends');  // returns false 

看到這里,肯定不理解,為什么要使用它吧,不急,往下看。

特殊字符

特殊字符是用于修改或指定正則表達(dá)式的字符組合的字符。最有用的特殊字符之一是方括號(hào)。方括號(hào)允許您表示目標(biāo)字符串中的字符可以是任意數(shù)量的字符!讓我們看看它們的作用:

  1. const bt = /b[aeiou]t/; 
  2. bt.test('bat');  // returns true 
  3. bt.test('bet');  // returns true 
  4. bt.test('bit');  // returns true 
  5. bt.test('bot');  // returns true 
  6. bt.test('but');  // returns true 
  7. bt.test('bpt');  // returns false 

想想看,括號(hào)里的一切都對(duì)應(yīng)于你要搜索的字符串中的一個(gè)字符。在這個(gè)有用的能力之上,我們可以使用"-"字符來(lái)指定一個(gè)特定的字符范圍!

  1. const nums = /[0-5]/; 
  2. nums.test('0');  //  returns true 
  3. nums.test('3');  //  returns true 
  4. nums.test('7');  //  returns false 

再者,比如,要指定所有的字母,你會(huì)做這樣的事情:

  1. const letters = /[A-Za-z]/; 
  2. letters.test('M');  // returns true 
  3. letters.test('y');  // returns true 
  4. letters.test('5');  // returns false 

另一個(gè)需要記住的特殊字符是 "+"字符。這表明一個(gè)特定的元素可以重復(fù)任何次數(shù)。讓我們看看它的作用。

  1. const bomb = /boo+m/;   
  2. bomb.test('boom!');  // returns true 
  3. bomb.test('Boom!');  // returns false 
  4. bomb.test('boooooooooooom!');  // returns true 

如果你想忽略大小寫怎么辦,可以在后面加個(gè)i。

  1. const bomb = /boo+m/i;   
  2. bomb.test('boom!');  // returns true 
  3. bomb.test('Boom!');  // returns true 
  4. bomb.test('boooooooooooom!');  // returns true 
  5. bomb.test('BOOOOOOOOOOOOM!');  // returns true 

比如我們常見的"?"字符也是一個(gè)有用的特殊字符。這個(gè)字符表示前面的字符可以包括也可以不包括。

  1. const color = /colou?r/;  
  2. color.test('color');  // returns true 
  3. color.test('colour');  // returns true 

你可能還需要關(guān)注的特殊字符是". "字符。這是個(gè)通配符。一個(gè)". "可以代表任何其他字符,不包括換行。

  1. const anything = /./;  
  2. anything.test('a');  // returns true 
  3. anything.test('1');  // returns true 
  4. anything.test('[');  // returns true 

嗯,先提這么幾個(gè)基礎(chǔ)的,我們?cè)賮?lái)看看其他的語(yǔ)法。

其他語(yǔ)法

\w "字符指的是任何字母數(shù)字字符。它的反義詞,"\W",指任何非字母數(shù)字字符。

  1. const alphaNumber = /\w/;   
  2. alphaNumber.test('a');  // returns true 
  3. alphaNumber.test('1');  // returns true 
  4. alphaNumber.test('&');  // returns false 
  5.  
  6. const notAlphaNumber = /\W/;  
  7. notAlphaNumber.test('a');  // returns false 
  8. notAlphaNumber.test('1');  // returns false 
  9. notAlphaNumber.test('&');  // returns true 

再介紹一個(gè),"\s "字符指的是任何空白字符,而"\S "字符指的是任何非空白字符。

  1. const whitespace = /\s/;   
  2. whitespace.test('a');  // returns false 
  3. whitespace.test('1');  // returns false 
  4. whitespace.test('&');  // returns false 
  5. whitespace.test(' ');  // returns true 
  6. whitespace.test('\n');  // returns true 
  7.  
  8. const notWhitespace = /\S/;  
  9. notWhitespace.test('a');  // returns true 
  10. notWhitespace.test('1');  // returns true 
  11. notWhitespace.test('&');  // returns true 
  12. notWhitespace.test(' ');  // returns false 
  13. notWhitespace.test('\n');  // returns false 

嗯,不能全部介紹完滴,還得自己查,那么有沒(méi)有總結(jié)性的圖呢,這個(gè)時(shí)候,當(dāng)然有。

一圖解千愁


手冊(cè)

這是一個(gè)第三方網(wǎng)站,推薦結(jié)合這個(gè),右邊的語(yǔ)法參考,基本上是上面的內(nèi)容。

  • https://c.runoob.com/front-end/854

左邊調(diào)試,中間是語(yǔ)法參考,右側(cè)是控制臺(tái),豈不美哉。

解題

匹配的格式是=A12/B12/C12.../K23中間是乘法也行。

想了很久,首先,我們是不是可以拆成三部分呢,一頭一尾和中間部分。

開頭,我們是不是可以這么匹配:

  1. reg = /^=[A-Z]+\d+/i; 

首先的是=開頭,然后是字母,接著是數(shù)字,考慮到可能是一個(gè)或者是多個(gè),得用“+”特殊字符。

然后我們看看預(yù)期:

  1. reg.test('=b12')  // true 
  2. reg.test('=C12') //  true 
  3. reg.test('=CC3') // true 
  4. reg.test('=CDdd35') //  true 
  5. reg.test('=CDdd 35')  // false 

嗯,我們?cè)趤?lái)看看,尾巴部分怎么寫:

  1. // 尾巴部分,應(yīng)該都是 /CC12, /B234,這樣子滴 
  2. reg = /(\/|\*)[A-Z]+\d+$/i 

首先,考慮到可能是乘法和除法,于是有這樣子的**(/|*)**,需要注意的是,需要轉(zhuǎn)義一下,然后以$結(jié)尾。

  1. reg.test('/cc')  // false 
  2. reg.test('/cc12') // true 

剩下的就是中間的部分了,也就是剩下多個(gè)形如: /B231這樣子的結(jié)構(gòu),于是:

  1. reg = /((\/|\*)[A-Z]+\d+$)*/i 

最后組合一下,就是這樣子的:

  1. const multiplicationAndDivisionReg = /^=[A-Z]+\d+((\/|\*)[A-Z]+\d*$)*(\/|\*)[A-Z]+\d+$/i; 

簡(jiǎn)單入門后,留一個(gè)思考題,之前面試看過(guò)一個(gè)有趣的題目,數(shù)字千分位。

  • '100000000.00'
  • // 輸出 '100,000,000.00'

趕緊來(lái)實(shí)戰(zhàn)一下吧。

最后

今天的分享,簡(jiǎn)單的介紹了如何入門正則表達(dá)式Regex,趕緊動(dòng)手學(xué)起來(lái)吧。

 

責(zé)任編輯:姜華 來(lái)源: TianTianUp
相關(guān)推薦

2022-08-29 15:26:58

MySQLSQL模式

2009-09-16 16:22:04

正則表達(dá)式匹配

2009-09-16 13:24:30

PHP正則表達(dá)式匹配

2009-09-16 18:08:14

正則表達(dá)式匹配單詞

2009-09-16 13:53:17

PHP正則表達(dá)式匹配

2010-03-10 18:57:53

Python正則表達(dá)式

2010-03-15 16:21:28

Python正則表達(dá)式

2010-03-04 15:20:20

Ubuntu Patt

2009-09-16 16:48:03

正則表達(dá)式匹配數(shù)字

2021-12-03 08:50:25

LeetCode正則表達(dá)式算法

2009-08-20 16:13:32

C#正則表達(dá)式匹配

2009-11-30 17:06:35

PHP ereg()函

2011-05-11 17:40:30

PHP正則表達(dá)式

2009-08-20 13:38:58

C#正則表達(dá)式

2009-11-30 17:22:24

PHP正則表達(dá)式多行匹

2009-09-16 17:38:49

正則表達(dá)式匹配任意字符

2010-07-21 10:43:25

Perl正則表達(dá)式匹配

2009-06-10 13:51:25

Java正則表達(dá)式匹配替換

2009-09-16 17:02:15

正則表達(dá)式匹配字符串

2012-04-28 15:22:46

PHP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

黄在线观看网站| 国产精品乱子乱xxxx| 特级西西人体高清大胆| 日韩中文字幕一区二区高清99| 亚洲午夜视频在线| 日韩和欧美的一区二区| 国产精品无码天天爽视频| 在线免费高清一区二区三区| 亚洲一区二区久久久| 无人码人妻一区二区三区免费| 日韩黄色a级片| 中日韩免视频上线全都免费| 91精品免费观看| 日韩精品久久一区二区三区| 99久久精品日本一区二区免费| 99视频在线精品国自产拍免费观看| 国产一区二区三区久久精品| 香蕉在线观看视频| 国产在线|日韩| 亚洲一区二区三区三| 四虎永久国产精品| 天堂成人在线| 亚洲精选成人| 日韩色av导航| 西西444www无码大胆| 一区二区三区在线免费看 | 日本午夜在线观看| 欧美国产不卡| 欧美xingq一区二区| 污片在线免费看| 欧美男男激情videos| 亚洲码国产岛国毛片在线| 日韩欧美视频一区二区三区四区 | 成人在线高清| 欧美日韩免费在线观看| 奇米777四色影视在线看| av资源网站在线观看| 媚黑女一区二区| 欧美极度另类性三渗透| 亚洲最大的黄色网址| 一个色免费成人影院| 亚洲国产日韩欧美在线99| 69久久精品无码一区二区| 日韩精品免费观看视频| 91久久精品一区二区三区| heyzo亚洲| 1234区中文字幕在线观看| 亚洲精品国产一区二区三区四区在线| 一区二区三区不卡在线| yw193.com尤物在线| 久久久久久一二三区| 精品国产综合久久| 亚洲色欧美另类| 99精品在线免费| 精品国产综合| 天堂成人在线| 久久精品亚洲一区二区三区浴池| 欧美日本韩国一区二区三区| 视频二区在线| 国产亚洲成年网址在线观看| 日韩精品久久久毛片一区二区| 第一福利在线| 国产精品资源站在线| 91欧美视频网站| av av片在线看| 国产成人在线视频网址| 高清国产在线一区| 欧美熟妇交换久久久久久分类| 国产成人亚洲综合a∨婷婷| 成人在线免费观看一区| 无码国产精品96久久久久| 91视频一区二区三区| 欧美日韩系列| 永久免费av在线| 亚洲女同女同女同女同女同69| 久久亚洲国产成人精品无码区| 国模私拍一区二区国模曼安| 久久蜜桃一区二区| 欧美日韩亚洲综合一区二区三区激情在线 | 快射av在线播放一区| 成人h版在线观看| 国产精品免费在线免费| 一级黄色免费看| 高清在线不卡av| 快播日韩欧美| 麻豆视频在线观看免费网站| 久久午夜色播影院免费高清| 婷婷亚洲婷婷综合色香五月| 日本韩国在线视频爽| 一区二区三区精密机械公司| 欧美黄网站在线观看| 国产亚洲精彩久久| 欧美日韩免费看| 欧美三级午夜理伦三级富婆| 综合激情网...| 亚洲免费电影一区| 国产精品久久久久久亚洲av| 免费久久精品| 亚洲精品理论电影| 中文字幕人妻无码系列第三区| 国产成人aa在线观看网站站| 国产一区二区av| 激情五月少妇a| 日本免费新一区视频| 懂色一区二区三区av片| 青青国产在线| av在线播放一区二区三区| 日本视频精品一区| 国产啊啊啊视频在线观看| 欧美亚洲国产bt| xxxx黄色片| 中文av一区| 国产精品毛片a∨一区二区三区|国| 亚洲欧美强伦一区二区| 中文字幕在线观看一区| 欧美视频第一区| 国内精品视频| 色阁综合伊人av| 91大神福利视频| 亚洲三级影院| 亚洲最大激情中文字幕| 国产三级精品在线观看| 久久伊人蜜桃av一区二区| 日本天堂免费a| 久久av影院| 一本一道久久a久久精品逆3p | 国产一区二区av在线| 国产丝袜视频一区| 69精品久久久| 亚洲高清自拍| 91免费人成网站在线观看18| 成人午夜在线观看视频| 色综合久久久久综合| 男男一级淫片免费播放| 午夜电影亚洲| 91视频-88av| 18视频免费网址在线观看| 色成人在线视频| 无码熟妇人妻av| 国产亚洲精品bv在线观看| 成人黄色在线免费观看| 久久亚洲天堂| 欧美日韩电影在线| 国产性猛交xx乱| 美女在线一区二区| 色婷婷精品国产一区二区三区| 电影一区二区三区| 欧美日本乱大交xxxxx| 最近中文字幕免费| 久久久久久自在自线| 欧美三级网色| 韩国女主播一区二区| 亚洲一区二区黄| 这里只有精品国产| 国产精品理伦片| xxxx在线免费观看| 中文字幕一区二区三区久久网站| 亚洲自拍小视频免费观看| 中文av资源在线| 欧美不卡视频一区| 日本熟伦人妇xxxx| 久久综合av免费| 青青在线视频免费| 欧美二区观看| 欧美国产日韩在线| 韩国av免费在线| 精品久久中文字幕| 亚洲最大成人网站| 日本不卡一区二区三区| 中文字幕中文字幕一区三区| 欧美特黄不卡| 91豆花精品一区| 成年网站在线| 91精品国产乱| 在哪里可以看毛片| 青青草国产精品97视觉盛宴| 在线免费观看一区二区三区| 日韩精品亚洲专区在线观看| 97视频人免费观看| a天堂中文在线观看| 亚洲自拍偷拍九九九| 国产精品无码一区二区三| 日韩高清中文字幕一区| 国产一二三四五| 久久香蕉精品香蕉| 国产精品网站大全| 欧美草逼视频| 一区二区三区回区在观看免费视频| 国产精品高潮呻吟AV无码| 亚洲午夜视频在线观看| 精品亚洲aⅴ无码一区二区三区| 极品少妇xxxx偷拍精品少妇| 黄色国产一级视频| 日韩欧美综合| 国产欧美日韩亚洲| 国产精品久久久久久妇女| 欧美黄色成人网| jizz日韩| 日韩黄在线观看| 国产精品久久久久久久久毛片 | 亚洲精品在线a| 日韩av电影在线网| 色帝国亚洲欧美在线| 亚洲小视频在线观看| 亚洲国产日韩在线观看| 欧美性猛片aaaaaaa做受| 国产一级一片免费播放| 欧美国产一区二区在线观看 | 久久97久久97精品免视看秋霞| 国产精品老牛影院在线观看| 高清精品在线| 久久福利视频导航| 成人av毛片| 日韩理论片久久| 亚洲av无码乱码国产麻豆| 欧美日韩一区二区三区不卡| 黄网在线观看视频| 亚洲一区二区精品久久av| 国产成人免费在线观看视频| 91欧美一区二区| 日本不卡视频一区| 国产精品综合一区二区| 午夜宅男在线视频| 日日夜夜精品视频免费| 成人一对一视频| 韩国久久久久| 400部精品国偷自产在线观看| 日韩黄色大片| 日韩免费av一区二区三区| 婷婷综合成人| 久久国产日韩欧美| 老司机凹凸av亚洲导航| 电影午夜精品一区二区三区| 日韩在线观看中文字幕| 亚洲字幕一区二区| 国内不卡的一区二区三区中文字幕| 国产精品免费久久久久影院| 成人日韩在线观看| 国产成人极品视频| 全亚洲第一av番号网站| 日本伊人精品一区二区三区介绍| 松下纱荣子在线观看| 欧美亚洲第一页| 中文字幕21页在线看| 欧美一区二区三区精品电影| 日韩伦理精品| 欧美重口另类videos人妖| 亚洲黄色中文字幕| 国产成人免费av电影| 深夜成人影院| 国产精品一区二区电影| 青青在线精品| 91社区国产高清| 伊人精品综合| 精品国产第一页| 日本福利一区| 神马欧美一区二区| 日韩在线观看| 91看片淫黄大片91| 影音先锋日韩资源| 色欲av无码一区二区人妻| 日韩成人精品视频| 国产探花在线观看视频| 国产精品白丝jk黑袜喷水| 四虎精品一区二区| 久久久天堂av| 美女福利视频网| 亚洲一区二区精品视频| 91精品国产乱码在线观看| 色系网站成人免费| 国产精品久久久久久久久久久久久久久久久久 | 午夜精品在线观看| 日韩国产激情| 91久久精品一区| 欧美freesex8一10精品| 日韩资源av在线| 婷婷亚洲最大| av女优在线播放| 日韩精品成人一区二区在线| 午夜国产福利在线观看| 99热精品国产| 公肉吊粗大爽色翁浪妇视频| 亚洲九九爱视频| 亚洲精品男人天堂| 欧美日韩免费观看一区二区三区| www.黄色小说.com| 亚洲免费精彩视频| 国产传媒在线播放| 91av中文字幕| 国产成年精品| 看欧美日韩国产| 亚洲澳门在线| 国产精品沙发午睡系列| 国产在线观看免费一区| 欧美bbbbb性bbbbb视频| 国产传媒欧美日韩成人| 久久精品老司机| 亚洲老妇xxxxxx| 波多野结衣一二区| 欧美变态凌虐bdsm| jizz在线观看| 97香蕉久久夜色精品国产| 97精品资源在线观看| 久久一区二区精品| 欧美视频不卡| 最新中文字幕2018| 91性感美女视频| 欧美性猛交xxxxx少妇| 欧美在线影院一区二区| 五月婷婷六月丁香| 精品中文字幕在线2019| 日韩中文视频| 久久大片网站| 欧美久久一区| 亚洲欧美偷拍另类| 久久久99精品免费观看不卡| 九九视频免费看| 欧美一区二区三区视频在线观看| 二区在线视频| 日韩美女毛茸茸| 欧美18免费视频| 无码熟妇人妻av在线电影| 国内精品久久久久影院薰衣草| www.狠狠爱| 91国模大尺度私拍在线视频| 无码国精品一区二区免费蜜桃| 欧美久久精品午夜青青大伊人| 久久亚洲精品中文字幕| 视频一区视频二区视频| 久久久人人人| 性色av蜜臀av色欲av| 午夜国产不卡在线观看视频| 性中国xxx极品hd| 欧美人与物videos| 国产精品一区免费在线| 91免费视频黄| 狠狠色狠狠色综合| 永久av免费网站| 欧美巨大另类极品videosbest | 性刺激的欧美三级视频| 国产日产精品1区| 日韩黄色一级视频| 亚洲亚裔videos黑人hd| 综合在线影院| 日韩一二三区不卡在线视频| 全部av―极品视觉盛宴亚洲| 精品人妻一区二区三区蜜桃视频| 色呦呦一区二区三区| 国产在线观看网站| 国产精品精品久久久| 日韩大片在线| 亚洲一二三不卡| 一区二区三区自拍| 欧美综合视频在线| 91成人在线播放| 欧美伦理影院| 国产91在线亚洲| 国产高清久久久| 国产精品111| 精品亚洲夜色av98在线观看| 中文字幕不卡三区视频| 欧美一级片免费观看| 麻豆精品一区二区三区| 色老板免费视频| 精品国产a毛片| 欧美18—19sex性hd| 亚洲一区二区三区欧美| 国产一区二区三区免费| 国产精久久久久久| 亚洲色图美腿丝袜| 亚洲免费看片| 农民人伦一区二区三区| 久久久久88色偷偷免费| 在线观看av大片| 久久99热这里只有精品国产| 色天天色综合| 成人日韩在线视频| 亚洲午夜久久久久久久久电影网 | 91免费国产精品| 91色porny在线视频| 91精品在线视频观看| 高清一区二区三区日本久| 国产一区二区三区日韩精品| www.久久久久久久久久久| 亚洲成av人**亚洲成av**| 成人网视频在线观看| 亚洲一区二区三区久久| 午夜在线精品偷拍| 欧美黑吊大战白妞| 亚洲欧美另类人妖| 欧美日韩国产一区二区在线观看| 国产午夜福利视频在线观看| |精品福利一区二区三区| 天天操天天干天天插| 国产精品视频在线观看| 亚洲国产美女| 久久国产高清视频| 精品亚洲精品福利线在观看| 欧美影院精品| 国产精品拍拍拍|