婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 淺談?wù)齽t速記法的技巧

淺談?wù)齽t速記法的技巧

熱門標(biāo)簽:外呼系統(tǒng)無(wú)呼出路由是什么原因 400電話辦理電話辦理 甘肅醫(yī)療外呼系統(tǒng)排名 呼叫系統(tǒng)外呼只能兩次 ai電話機(jī)器人搭建 西藏智能外呼系統(tǒng)代理商 地圖標(biāo)注教學(xué)點(diǎn) 貴港公司如何申請(qǐng)400電話 梅縣地圖標(biāo)注

給你一篇文章,如何挑選出你想要的字符串呢?你可以從左到右從上到下,一個(gè)一個(gè)字符讀取出來(lái),寫一大堆if做判斷。這樣太麻煩了,正則就是將以上過程抽象出來(lái),用一些特定符號(hào)就能表示出大部分規(guī)則

對(duì)大部分人來(lái)說,正則主要是難記,其實(shí)只要對(duì)正則符號(hào)分類記憶,就會(huì)發(fā)現(xiàn)核心概念其實(shí)特別簡(jiǎn)單

注:本文會(huì)假設(shè)你至少看過一遍正則的文檔,如果沒看過,可以看mdn(有中文翻譯),如果覺得mdn排版亂,推薦去https://devdocs.io/javascript/global_objects/regexp學(xué)習(xí)。本文所使用語(yǔ)言為javascript

元字符

/a/中的a就是一個(gè)元字符,一個(gè)元字符匹配一個(gè)實(shí)體字符,這里的“a”沒有特殊含義,就匹配一個(gè)英文a

/\d/就匹配0到9的所有數(shù)字,如果兩個(gè)連寫/\d\d/就可以匹配10到99的所有數(shù)字

/./可以匹配任何字符

集合

假如有一串字符串'0123456789',我只想匹配其中的'3','6','9',這時(shí)可以放在集合中/[369]/

執(zhí)行后會(huì)發(fā)現(xiàn)只有3被匹配到,是因?yàn)榧现胁还軐懚嗌贃|西都代表一個(gè)元字符,集合也是一種元字符
你可能見過這樣都集合/[0-9a-zA-Z_]/它代表匹配所有數(shù)字,字母和下劃線,它與元字符/\w/的效果是一樣的,集合更靈活\w更方便

排除型集合

/[^0-9]/除了數(shù)字都匹配(我喜歡叫它否定集合)

或(多選)

假設(shè)我有一大堆書單,我希望從中匹配出naroto和one piece,那么可以這樣寫/naroto|one pice/ 豎線代表或,a或b,你也可以寫多個(gè)a|b|c|d,你當(dāng)然可以寫出0|1|2...|9來(lái)匹配所有數(shù)字。但要注意和集合的區(qū)別,集合是一個(gè)元字符,不能匹配單詞,|兩邊可以是多個(gè)元字符

分組

我現(xiàn)在有一堆文件,我希望匹配出后綴是.css和.less的文件,你可以很自然的寫出/.css|.less/這樣的代碼。其實(shí)還有一個(gè)簡(jiǎn)便寫法/.(c|le)ss/,分組可以將若干個(gè)元字符放在同一個(gè)作用域中做處理,通過分組我們可以寫出更簡(jiǎn)練的代碼

分組還有一個(gè)特殊的用法,思考如何匹配'asd_asd_asd_asd_asd'這種字符串?

答案是/(asd)(_\1)+/,\1是個(gè)非常特殊的元字符,代表重復(fù)使用第一個(gè)分組的匹配結(jié)果,\2就代表第二個(gè),以此類推,+加號(hào)表示重復(fù)一到多次(這個(gè)后面會(huì)講),需要注意的是計(jì)數(shù)從1開始,\0代表另外的意思(請(qǐng)看文檔)

量詞

一長(zhǎng)串字符中我只想匹配連續(xù)的數(shù)字,但/\d/只會(huì)匹配一個(gè),這時(shí)候可以使用量詞/\d{n,}/,n寫幾就是幾到多,比如{1,}就是1到多。{n}這種寫法表示n個(gè)相連,匹配2333可以寫成/23{3}/

還有幾個(gè)簡(jiǎn)寫的量詞

  • +代表1到多,等于{1,}
  • *代表0到多,等于{0,}
  • ?代表0或1個(gè),等于{0,1}

貪婪模式和非貪婪模式

量詞有個(gè)尷尬的地方,比如用/.*a/去匹配 '123a123a',本來(lái)希望得到'123a',實(shí)際卻得到'123a123a'。這是因?yàn)槿魏巫址紳M足/./加上量詞會(huì)導(dǎo)致從頭匹配到尾,但因?yàn)槲覀冞€有其他元字符,所以這時(shí)正則引擎會(huì)回溯,將已經(jīng)匹配的結(jié)果從后往前一個(gè)個(gè)拿出來(lái),與剩下的元字符相匹配。
這種模式叫貪婪模式,它可能會(huì)產(chǎn)生預(yù)期之外的結(jié)果和不必要的性能浪費(fèi)

解決方案是使用非貪婪模式,在量詞后面加?問號(hào)可以得到最小結(jié)果,現(xiàn)在使用/.*?a/去匹配就可以得到'123a'了。任何量詞后都可以使用非貪婪模式

環(huán)視

x(?=y)這個(gè)功能有很多種翻譯,比如零寬斷言,我個(gè)人感覺比較準(zhǔn)確的是“正向肯定環(huán)視”
x(?!y)正向否定環(huán)視

x代表元字符,y也代表元字符,x(?=y)的意思是緊接著y的x,比如 '-1a--2b-',使用/\d(?=a)/去匹配,會(huì)得到1;/\d(?!a)/去匹配,會(huì)得到2。

這功能怎么用?舉個(gè)例子,有一段字符串'a(123)b',我只想要括號(hào)內(nèi)的內(nèi)容,但不想要括號(hào)
我需要匹配到右括號(hào)左邊的位置,那么我可以寫成/(?=\))/(注意括號(hào)需要轉(zhuǎn)義),我不想要左括號(hào)/[^(]/,我不關(guān)心括號(hào)內(nèi)的內(nèi)容/.*/,這時(shí)組合三個(gè)正則就變成了/[^(].*(?=\))/

實(shí)際上這個(gè)功能匹配的是位置,從匹配到的位置開始找元字符,所以你如果在環(huán)視后面加量詞是沒用的

其他

^$也是匹配位置的元字符,分別是匹配開頭和結(jié)尾,比如我們想匹配文件結(jié)尾是.js的文件可以寫成/.js$/。匹配http開頭的鏈接可以寫成/^http:\/\//

還有一些特殊的\u[\b]\0等,需要你自己看文檔

標(biāo)識(shí)符

g:一個(gè)正則只會(huì)匹配一次,如果加上g標(biāo)識(shí)符就會(huì)全局匹配, /\d/g,這個(gè)正則是不管兩個(gè)數(shù)字之間隔了什么,都會(huì)將所有數(shù)字匹配出來(lái)

i:不區(qū)分大小寫/^http:\/\//i就會(huì)匹配http://和HTTP://

核心概念就這么多,其他內(nèi)容請(qǐng)?jiān)敿?xì)查看文檔

你以為這就結(jié)束了?其實(shí)還有后續(xù)噠!

我要繼續(xù)說環(huán)視

還有個(gè)神奇的逆向環(huán)視沒有講x(?=y) ,因?yàn)檫@是18年才進(jìn)正式標(biāo)準(zhǔn)的功能,雖然它可能比js年齡大,但js就是不支持你怕不怕!

前面那個(gè)/[^(].*(?=\))/可以改成/(?=y).*(?=\))/

正則最大但坑就是,讓新手產(chǎn)生正則無(wú)所不能的想法,一個(gè)復(fù)雜字符串處理總以為可以通過一個(gè)神奇的正則來(lái)搞定。

正則不是萬(wàn)能的!

還是之前的例子,給字符串'a(1\(2(3)'讓你取括號(hào)內(nèi)的內(nèi)容請(qǐng)問你怎么取?首先應(yīng)該弄清需求,如果正則過于難寫,可以用js的字符串處理函數(shù)輔助正則,分部操作。另外正則的性能并不高,不是說很復(fù)雜的操作寫成一行正則性能就比其他方式快了,沒有測(cè)試就沒有發(fā)言權(quán)

正則理論上是有極限的,舉個(gè)例子,有字符串1xxxyyyy2讓你取{n}個(gè)x和{m}個(gè)y,n和m是不確定個(gè)數(shù),寫成x{1,}y{1,}是沒問題的,但如果要求是x{n}y{n}就不行了,比如一個(gè)字符串有3個(gè)x,你就要取3個(gè)y,有4個(gè)x,你就要取4個(gè)y,單靠正則就無(wú)法完成了。

正則難,難在門檻高,門檻高在難記,之所以難記,其實(shí)還是因?yàn)榉慈祟惖姆?hào)讓你下意識(shí)的排斥它。熟悉正則,正式正則,學(xué)會(huì)正則,會(huì)給你帶來(lái)超乎想象的便利!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 通俗解釋JavaScript正則表達(dá)式快速記憶

標(biāo)簽:哈密 大興安嶺 常州 海口 湖州 涼山 本溪 泰安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談?wù)齽t速記法的技巧》,本文關(guān)鍵詞  淺談,正則,速記法,的,技巧,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談?wù)齽t速記法的技巧》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于淺談?wù)齽t速記法的技巧的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩免费观看高清完整版在线观看| 日韩丝袜美女视频| 制服丝袜中文字幕亚洲| 国产欧美一区二区精品仙草咪| 亚洲激情男女视频| 国产精品综合久久| 欧美日韩一级二级三级| 国产拍欧美日韩视频二区| 天堂av在线一区| 91女厕偷拍女厕偷拍高清| 久久婷婷国产综合精品青草| 午夜精品123| 日本道色综合久久| 国产精品久久久久婷婷二区次| 美女视频网站久久| 欧美日韩一区小说| 亚洲在线观看免费| thepron国产精品| 久久精品亚洲精品国产欧美| 麻豆成人久久精品二区三区红| 欧美日精品一区视频| 亚洲欧美色一区| 成人精品一区二区三区四区| 久久久久久一级片| 国产一区二区三区最好精华液| 欧美男人的天堂一二区| 亚洲永久精品大片| 日本韩国精品一区二区在线观看| 中文字幕免费一区| 成人黄色软件下载| 中文字幕在线视频一区| av毛片久久久久**hd| 国产精品灌醉下药二区| a亚洲天堂av| 亚洲色图丝袜美腿| 色哟哟在线观看一区二区三区| 国产女人18水真多18精品一级做 | 国产综合成人久久大片91| 日韩欧美久久一区| 经典三级视频一区| 国产色婷婷亚洲99精品小说| 丁香一区二区三区| 中文字幕一区二区三区四区不卡| 成人av网站大全| 亚洲美女视频在线| 欧美精品久久一区| 久久成人18免费观看| 久久久精品黄色| 99精品视频一区二区三区| 亚洲免费在线播放| 欧美人牲a欧美精品| 裸体一区二区三区| 精油按摩中文字幕久久| 精品国产麻豆免费人成网站| 国产精品911| 亚洲精品欧美综合四区| 欧美日本在线观看| 国产在线精品一区二区| 国产精品每日更新| 欧美性猛片aaaaaaa做受| 久久福利视频一区二区| 国产精品久久久久影视| 欧美日韩高清一区| 国产精品99久久久久久似苏梦涵| 综合色中文字幕| 91精品国产综合久久国产大片| 黄色资源网久久资源365| 中文字幕一区二区三区在线不卡| 欧美在线观看视频在线| 国产乱色国产精品免费视频| 亚洲综合在线第一页| 精品欧美久久久| 在线欧美日韩国产| 国产精品18久久久久久久久| 一区二区三区成人| 久久美女高清视频| 欧美日韩精品二区第二页| 国产精品一区久久久久| 亚洲成av人在线观看| 国产精品欧美一级免费| 制服.丝袜.亚洲.中文.综合| gogogo免费视频观看亚洲一| 秋霞成人午夜伦在线观看| 亚洲免费在线视频一区 二区| 日韩亚洲欧美一区二区三区| 在线观看亚洲成人| 国产·精品毛片| 久久成人av少妇免费| 亚洲成人一二三| 中文字幕在线一区免费| 国产亚洲污的网站| 日韩免费视频一区二区| 91久久精品网| 一本色道久久综合亚洲精品按摩 | 日本特黄久久久高潮| 国产精品乱码久久久久久 | 欧美日韩一区高清| 波多野结衣中文字幕一区| 精品一区二区精品| 日本va欧美va精品发布| 亚洲国产wwwccc36天堂| 最新欧美精品一区二区三区| 国产亚洲精品7777| 精品国产伦一区二区三区免费| 欧美日韩国产影片| 欧美日韩一区二区三区在线| 色婷婷综合久久久久中文一区二区| 国产精品自拍网站| 国内精品久久久久影院色| 精品制服美女丁香| 蜜臀a∨国产成人精品| 秋霞影院一区二区| 日本亚洲电影天堂| 麻豆久久久久久久| 狠狠色综合色综合网络| 国产一区91精品张津瑜| 国产麻豆精品久久一二三| 精品一区二区三区视频 | 国产欧美中文在线| 久久久久国产免费免费| 国产日韩欧美不卡在线| 欧美国产国产综合| 亚洲欧洲av一区二区三区久久| 国产精品网友自拍| 亚洲私人黄色宅男| 亚洲一区二区av电影| 日本中文一区二区三区| 另类小说图片综合网| 精品制服美女久久| 成人免费av资源| 91浏览器打开| 欧美日韩一区不卡| 精品国产免费人成电影在线观看四季| 欧美精品一区二区久久久| 久久久亚洲精华液精华液精华液| 久久色视频免费观看| 国产精品少妇自拍| 亚洲第一激情av| 青青草国产精品亚洲专区无| 韩国三级电影一区二区| www..com久久爱| 7777女厕盗摄久久久| 国产偷v国产偷v亚洲高清| 亚洲日本va午夜在线影院| 日韩国产欧美三级| 成人午夜视频网站| 欧美午夜影院一区| 久久亚区不卡日本| 夜夜嗨av一区二区三区四季av | 日韩亚洲欧美成人一区| 久久久久久99精品| 亚洲电影第三页| 国产精品69久久久久水密桃| 一本一道综合狠狠老| 精品国产91乱码一区二区三区| 国产精品久久久久久久第一福利| 午夜视频在线观看一区二区| 国产精品影视天天线| 欧美日韩视频在线观看一区二区三区 | 91麻豆精品国产91久久久使用方法| 精品免费国产一区二区三区四区| 自拍偷拍国产亚洲| 久久99精品久久久久| 日本韩国一区二区| 国产精品麻豆视频| 久久激情五月激情| 91福利在线看| 国产日韩精品久久久| 日韩av一区二区三区四区| 91影视在线播放| 26uuu国产电影一区二区| 午夜电影网亚洲视频| 在线亚洲一区二区| 国产精品系列在线| 国产精品一区二区视频| 欧美一级高清大全免费观看| 亚洲最新在线观看| 94色蜜桃网一区二区三区| 久久久久国产一区二区三区四区 | 国产精品欧美极品| 国产精品伊人色| 欧美精品一区二区三| 日韩av不卡一区二区| 欧美日韩午夜影院| 亚洲午夜久久久| 色婷婷综合视频在线观看| 中文字幕在线观看一区二区| 成人免费毛片片v| 国产免费久久精品| 国产精品一区二区在线观看网站| 欧美v亚洲v综合ⅴ国产v| 免费人成精品欧美精品| 91麻豆精品国产自产在线观看一区| 亚洲一区二区成人在线观看| 在线观看欧美精品| 亚洲成人在线免费| 欧美精品 国产精品| 日本亚洲最大的色成网站www| 欧美精品第1页| 麻豆国产欧美日韩综合精品二区|