正則表達(dá)式學(xué)習(xí)筆記

正則表達(dá)式學(xué)習(xí)(js)

概覽

先拿數(shù)字舉例

符號(hào) 含義
\d 數(shù)字
\d? 0個(gè)或1個(gè)數(shù)字
\d+ 1個(gè)或多個(gè)數(shù)字
\d* 0個(gè)或多個(gè)數(shù)字
\d{3} 3個(gè)數(shù)字
\d{3,5} 3個(gè)到5個(gè)數(shù)字

幾個(gè)常用的例子

  1. 單詞邊界\b

    比如我們就像匹配單詞is,像qishi這樣的不要匹配蚀瘸,我們就需要\bis\b

  2. 點(diǎn).表示任意字符

    如果我們就需要匹配點(diǎn).,那我們就需要轉(zhuǎn)義\.

  3. 匹配//

    網(wǎng)址中經(jīng)常有//,要匹配這個(gè),也需要轉(zhuǎn)義\/\/

  4. 分組()

    分組之后调塌,我們可以提取其中的內(nèi)容

  5. 或者[]

    在匹配日期中,[-/],就可以要么匹配-,要么匹配/

  6. 開頭、結(jié)尾

    ^表示以什么開始碳竟,$表示以什么結(jié)束

正則對(duì)象

創(chuàng)建一個(gè)正則對(duì)象

var reg = new RegExp('\\bis\\b','g')

\\空另,第一個(gè)是為了轉(zhuǎn)義,第二個(gè)是配合后面的\b

修飾符

  • g: global 表示全文搜索
  • i: ignore case 忽略大小寫腋寨。默認(rèn)大小寫敏感
  • m:multiple lines 多行搜索

多行匹配就是讓后面的行同樣適用于第一行的規(guī)則聪铺。
沒加換行修飾符

image.png

第二行,第三行的都沒有匹配到萄窜。

如果我們加上換行修飾符


元字符

正則表達(dá)式由兩種基本字符組成铃剔,一類是原義文本字符,寫什么就匹配什么查刻,我們看到的就是要匹配的键兜。第二類就是元字符,元字符就是在正則表達(dá)式中有特殊含義的非字母字符穗泵。


1553516159529.png

字符類

1553516410201.png

我們使用[]構(gòu)造了一類字符普气,這一類字符中,可以是abc中的任意一個(gè)佃延。

字符類取反

1553516535536.png

范圍類

如果我們要需要一個(gè)類现诀,包括數(shù)字從5到9,我們需要這樣[5 6 7 8 9],如果數(shù)字多的話夷磕,會(huì)很麻煩
所以就需要范圍類了

image.png

連寫

[a-zA-Z],就把大小寫都包括了。
如果我們不光包括大小寫仔沿,還需要包括-
[a-zA-Z-]坐桩,后面加一個(gè)-就可以了。

js預(yù)定義類和邊界

上一節(jié)中于未,看到我們可以自定義類撕攒,這樣已經(jīng)方便了我們書寫,但是還不夠烘浦,為此抖坪,正則表達(dá)式還給我們提供了預(yù)定義類來匹配常見的字符類。


image.png

我們可以自己構(gòu)造:
ab[0-9][^\r\n]
也可以使用正則的預(yù)定義類
ab\d.

邊界

舉例

image.png

量詞

我們希望匹配一個(gè)連續(xù)出現(xiàn)20次的數(shù)字的字符串

好麻煩

貪婪模式和非貪婪模式

這個(gè)會(huì)匹配多少闷叉?
默認(rèn)是貪婪模式擦俐,會(huì)都匹配。
如果我們想讓它盡可能少的匹配握侧,我們就設(shè)置為非貪婪模式蚯瞧。


舉例:


分組

我們有這樣的場景,匹配字符串Byron出現(xiàn)三次的場景品擎。
學(xué)習(xí)了量詞之后埋合,我們可以這樣:Byron{3}
但是這并不是我們需要的,因?yàn)樗淼氖?code>n出現(xiàn)三次萄传。

上面的例子甚颂,如果我們只是想把或作用onCa,我們可以這樣

反向引用

場景:


不光是-變成了/,日期的順序也變了秀菱。

我們要替換的內(nèi)容還在字符串本身里面振诬,就相當(dāng)于變量的概念了。

image.png

note:如果沒有分組的話衍菱,$就表示原義了赶么。

忽略分組

image.png

前瞻和后顧

舉例



這里的(?=\d)不是正則部分,它是類型斷言部分脊串。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辫呻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子洪规,更是在濱河造成了極大的恐慌印屁,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斩例,死亡現(xiàn)場離奇詭異,居然都是意外死亡从橘,警方通過查閱死者的電腦和手機(jī)念赶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門础钠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叉谜,你說我怎么就攤上這事旗吁。” “怎么了停局?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵很钓,是天一觀的道長。 經(jīng)常有香客問我董栽,道長码倦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任锭碳,我火速辦了婚禮袁稽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘擒抛。我一直安慰自己推汽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布歧沪。 她就那樣靜靜地躺著歹撒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诊胞。 梳的紋絲不亂的頭發(fā)上暖夭,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音厢钧,去河邊找鬼鳞尔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛早直,可吹牛的內(nèi)容都是我干的寥假。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼霞扬,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼糕韧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起喻圃,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤萤彩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后斧拍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雀扶,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了愚墓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片予权。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖浪册,靈堂內(nèi)的尸體忽然破棺而出扫腺,到底是詐尸還是另有隱情,我是刑警寧澤村象,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布笆环,位于F島的核電站,受9級(jí)特大地震影響厚者,放射性物質(zhì)發(fā)生泄漏躁劣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一籍救、第九天 我趴在偏房一處隱蔽的房頂上張望习绢。 院中可真熱鬧,春花似錦蝙昙、人聲如沸闪萄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽败去。三九已至,卻和暖如春烈拒,著一層夾襖步出監(jiān)牢的瞬間圆裕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國打工荆几, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吓妆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓吨铸,卻偏偏與公主長得像行拢,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子诞吱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355