正則表達式--初識

\bullet 前言

? ? 雖然工作四五年了缘琅,都沒怎么使用過正則绳泉,但是它一直都是我心中的一個痛,尤其是我月初手寫webpack-loader完成項目需求時,使用了大量的字符串的find诗茎、replace等操作弯屈,這讓我再一次存在這樣的疑問:如果是正則蜗帜,會不會更好?

\bullet 元字符

? ??^资厉、$厅缺、.、*、+湘捎、?诀豁、|、\窥妇、/舷胜、(、)活翩、[烹骨、]、{材泄、}沮焕、=、!拉宗、:峦树、-

\bullet 橫向匹配與縱向匹配

? ? \ast 橫向匹配

? ? ? ? 一般字符值是確定的,但是該字符出現(xiàn)的個數(shù)不確定旦事,比如ab魁巩、abb、abbb姐浮、abbb...b中歪赢,b出現(xiàn)的次數(shù)不確定

? ? ? ? 代表字符:

? ? ? ? ? ? {}:具體指定出現(xiàn)次數(shù)

? ? ? ? ? ? ?:0|1次

? ? ? ? ? ? +:>=1次

? ? ? ? ? ? *:>=0次

? ??\ast 縱向匹配

? ? ? ? 一般針對某一個字符做限定,如ab单料、ac埋凯、ad、af中扫尖,b的值不確定

? ? ? ? 代表字符:

? ? ? ? ? ? .:通配符白对,表任意字符

? ? ? ? ? ? -:范圍

? ? ? ? ? ? []:具體指定可選值

? ? ? ? ? ? ^:排除(僅用在[]時)

? ? ? ? ? ? \d:數(shù)字

? ? ? ? ? ? \w:數(shù)字|字母|下劃線

? ? ? ? ? ? \s:空白符,如空格换怖、水平制表符甩恼、垂直制表符、換行符沉颂、回車符条摸、換頁符等

? ? ? ? ? ? \D|\W|\S:上述小寫取反

\bullet 貪婪與惰性

? ? 貪婪

? ? ? ? 按最大范圍匹配

? ? 惰性

? ? ? ? 按最小范圍匹配,使用铸屉?標識

\bullet 分支

? ? 標識符

????????|

? ? ? ? 一般與()搭配使用

\bullet 修飾符

? ? g:后一次匹配從上一次匹配成功的下一個位置開始

? ? m:多行匹配

? ? i:忽略大小寫

\bullet 優(yōu)先級

? ? \\rightarrow ?()或[]?\rightarrow ?{}或*或钉蒲?或+?\rightarrow ?^或$或字符字面量?\rightarrow ?|

\bullet 示例

? ??\ast 取任意字符

? ? ? ? [^]

? ??\ast 取除了abc外的

? ? ? ? [-ac]

? ??\ast 匹配十六進制顏色值

? ? ? ? 分析:

? ? ? ? ? ? 十六進制以“#”開頭,但是并不能使用^,因為這代表整個字符的開頭

? ? ? ? ? ? 除了#外彻坛,其余字符為數(shù)字和字母顷啼,但是下劃線不行踏枣,故為[\da-fA-F],且需要使用()與#隔開

? ? ? ? ? ? 顏色值可以是3位也可以是6位钙蒙,故需要使用分支:|? ? ?

? ? ????結(jié)果:

? ??\ast 配送時間--24小時制

? ? ? ? 分析:

? ? ? ? ? ? 若時的十位為2時茵瀑,時的個位只能為0、1躬厌、2马昨、3

? ? ? ? ? ? 分的十位最高取到6

? ? ? ? ? ? 涉及兩種情況,需要使用|+()

? ? ????結(jié)果:

? ??\ast 匹配日期

? ? ? ? 分析:

? ? ? ? ? ? 和時間一樣扛施,主要分析出分支

? ? ? ? ? ? [0-38]代表的是0偏陪、1、2煮嫌、3和8,而不是0到38

? ? ????結(jié)果:

? ??\ast 匹配文件路徑

? ? ? ? 分析:

? ? ? ? ? ? 盤符可以是任意的大小寫字母抱虐,對于冒號而言昌阿,我不確定需不需要轉(zhuǎn)譯,那就轉(zhuǎn)譯準沒錯

? ? ? ? ? ? 剩下的文件夾恳邀,分兩種情況:

? ? ? ? ? ? ? ? 如果是最后一個懦冰,則沒有\(zhòng),且要么有要么沒有

? ? ? ? ? ? ? ? 如果不是最后一個谣沸,則一定有\(zhòng)刷钢,且為0或多個

? ? ? ? ? ? ? ? 雖說是兩種情況,但這里并不是分支的概念

? ? ????結(jié)果:

? ??\ast 匹配id

? ? ? ? 分析:

? ? ? ? ? ? 使用.可以匹配任意字符乳附,為空的不要内地,故為.+

? ? ? ? ? ? 但是.也會匹配引號,故想要進行貪婪赋除,匹配到右引號即停止

? ? ? ? ? ? ?是對匹配結(jié)果進行貪婪阱缓,而非前一個,如.+?“標識對任意字符匹配到問號為止举农,而不是對+

? ? ? ? ?結(jié)果:



參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末荆针,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子颁糟,更是在濱河造成了極大的恐慌航背,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棱貌,死亡現(xiàn)場離奇詭異玖媚,居然都是意外死亡,警方通過查閱死者的電腦和手機婚脱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門最盅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來突雪,“玉大人,你說我怎么就攤上這事涡贱∮缴荆” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵问词,是天一觀的道長督函。 經(jīng)常有香客問我,道長激挪,這世上最難降的妖魔是什么辰狡? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮垄分,結(jié)果婚禮上宛篇,老公的妹妹穿的比我還像新娘。我一直安慰自己薄湿,他們只是感情好叫倍,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著豺瘤,像睡著了一般吆倦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坐求,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天蚕泽,我揣著相機與錄音,去河邊找鬼桥嗤。 笑死须妻,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的泛领。 我是一名探鬼主播璧南,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼师逸!你這毒婦竟也來了司倚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤篓像,失蹤者是張志新(化名)和其女友劉穎动知,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體员辩,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡盒粮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了奠滑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丹皱。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡妒穴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出摊崭,到底是詐尸還是另有隱情讼油,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布呢簸,位于F島的核電站矮台,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏根时。R本人自食惡果不足惜瘦赫,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一赦肋、第九天 我趴在偏房一處隱蔽的房頂上張望刃永。 院中可真熱鬧,春花似錦吩蔑、人聲如沸替裆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扎唾。三九已至,卻和暖如春南缓,著一層夾襖步出監(jiān)牢的瞬間胸遇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工汉形, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留纸镊,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓概疆,卻偏偏與公主長得像逗威,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子岔冀,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容