正則表達式3-兄弟的回復

問題

假設(shè)我開了一個創(chuàng)業(yè)公司,現(xiàn)在邀請一批老伙伴加入公司租冠,一起吃餅鹏倘。這時候我收到了這些回復:

  1. ok, i will do it
  2. okie dokie
  3. Ahooy, Okay!!!
  4. why sure, i can go
  5. arrr, yes matey
  6. My answer me mate, is yes y

現(xiàn)在我要找到回復中肯定的詞語。比如

  1. ok
  2. Okay
  3. sure
  4. yes
  5. y

應該怎么做呢顽爹?

單詞邊界

從最簡單的開始纤泵,先匹配ok。

/ok/

結(jié)果第二行的okie也被匹配了话原,這是什么鬼夕吻,我們不應該匹配第2行。還記得《正則表達式2》里面講的部分匹配的問題繁仁,但是這里不能用那個解決方案涉馅,因為ok后面還有很多東西呢。所以這里介紹一個邊界元字符(Boundary metacharacter)\b黄虱。

這樣寫就可以正確匹配ok單詞了

/\bok\b/

\b確保匹配整個單詞

匹配多個和“可以選擇的”

現(xiàn)在ok匹配上了稚矿,我們需要匹配Okay了。直接把Okay放在后面可以的捻浦。

/\bok\b|\bokay\b/

這樣可以的晤揣。但是如果有更多的可能性呢,這樣就不好了朱灿,我們換一種吧昧识。如果能讓ay是可選的,就可以簡化了吧盗扒。這里介紹?.看看下面代碼

/\bok(ay)?\b/i

這樣就可以匹配ok和okay了跪楞,?表示出現(xiàn)0次或者1次,就是可以選擇的意思

Or破壞了單詞邊界

下面我們來看看如何匹配sure侣灶,很顯然可以想到甸祭。

/\bok(ay)?|sure\b/i

這個可以匹配sure,可是也可以匹配ensure褥影,因為左邊沒有\b了池户。解決的方法是用group

/\b(ok(ay)?|sure)\b/i

結(jié)局

剩下的yes和y應該很好解決了,看一下代碼吧

/\b(ok(ay)?|sure|y(es)?)\b/i

獎勵

正則表達式太牛逼了凡怎,忍不住我再學習點校焦。

如何表達非

前面我們都是去匹配,那么我們不想匹配一些東西怎么辦统倒,比如斟湃,要匹配所有不是數(shù)字的?看看這個:

/[a-z\s,]+/i

這樣寫不錯檐薯,但是還可以這樣

/[^\d]+/i

等等凝赛,^不是表示一行以模式開頭嗎注暗?嗯,在[]中它表示否定墓猎。不要混淆了捆昏。/^[^\d]+$/看這個里面兩個^是不同的意思。

相反意思的元字符

元字符 描述
\w 查找單詞字符
\W 查找非單詞字符
\d 查找數(shù)字
\D 查找非數(shù)字字符
\b 匹配單詞邊界
\B 匹配非單詞邊界

呵呵毙沾,其實直接用/^\D+$/就可以查找所有非數(shù)字了骗卜。

限制數(shù)字

我們知道[]里面的表達式只能匹配一個字符,?表示出現(xiàn)0次或者1次左胞,就是可以選擇的意思寇仓,+表示出現(xiàn)1次或者大于1次,那么有沒有其他的量詞呢:

量詞 描述
n+ 匹配任何包含至少一個 n 的字符串烤宙。
n* 匹配任何包含零個或多個 n 的字符串遍烦。
n? 匹配任何包含零個或一個 n 的字符串。
n{X} 匹配包含 X 個 n 的序列的字符串躺枕。
n{X,Y} 匹配包含 X 或 Y 個 n 的序列的字符串服猪。
n{X,} 匹配包含至少 X 個 n 的序列的字符串。
n$ 匹配任何結(jié)尾為 n 的字符串拐云。
^n 匹配任何開頭為 n 的字符串罢猪。
?=n 匹配任何其后緊接指定字符串 n 的字符串。
?!n 匹配任何其后沒有緊接指定字符串 n 的字符串叉瘩。

舉個例子吧:

/[a-z]{1,3}/

上面這個表達式可以匹配:'t','te','tes'膳帕,但是'test'就不能匹配了,最多1個祖父到三個字符薇缅。

語法

{最少匹配的數(shù)目, 最多匹配的數(shù)目}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末备闲,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子捅暴,更是在濱河造成了極大的恐慌,老刑警劉巖咧纠,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蓬痒,死亡現(xiàn)場離奇詭異,居然都是意外死亡漆羔,警方通過查閱死者的電腦和手機梧奢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來演痒,“玉大人亲轨,你說我怎么就攤上這事∧袼常” “怎么了惦蚊?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵器虾,是天一觀的道長。 經(jīng)常有香客問我蹦锋,道長兆沙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任莉掂,我火速辦了婚禮葛圃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘憎妙。我一直安慰自己库正,他們只是感情好,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布厘唾。 她就那樣靜靜地躺著褥符,像睡著了一般。 火紅的嫁衣襯著肌膚如雪阅嘶。 梳的紋絲不亂的頭發(fā)上属瓣,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音讯柔,去河邊找鬼抡蛙。 笑死,一個胖子當著我的面吹牛魂迄,可吹牛的內(nèi)容都是我干的粗截。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼捣炬,長吁一口氣:“原來是場噩夢啊……” “哼熊昌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起湿酸,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤婿屹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后推溃,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昂利,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年铁坎,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜂奸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡硬萍,死狀恐怖扩所,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情朴乖,我是刑警寧澤祖屏,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布助赞,位于F島的核電站,受9級特大地震影響赐劣,放射性物質(zhì)發(fā)生泄漏嫉拐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一魁兼、第九天 我趴在偏房一處隱蔽的房頂上張望婉徘。 院中可真熱鬧,春花似錦咐汞、人聲如沸盖呼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽几晤。三九已至,卻和暖如春植阴,著一層夾襖步出監(jiān)牢的瞬間蟹瘾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工掠手, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留憾朴,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓喷鸽,卻偏偏與公主長得像众雷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子做祝,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

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

  • 曾經(jīng)有一份美好的愛情放在我的面前我沒有珍惜。等到失去后才后悔莫及声登。如果可以再對小李說狠鸳。毛欣想說。這輩子無緣再牽手捌刮。...
    毛欣與小李閱讀 2,580評論 0 13
  • 轉(zhuǎn)載自正則表達式30分鐘入門教程 入門 學習正則表達式的最好方法是從例子開始,理解例子之后再自己對例子進行修改舒岸,實...
    夏天的風_song閱讀 1,693評論 0 0
  • 注:本篇文章只為方便查看绅作,特此保留,如有冒犯蛾派,敬請諒解6砣稀8錾佟! 本文目標 30分鐘內(nèi)讓你明白正則表達式是什么眯杏,并對它...
    阿杰Alex閱讀 1,479評論 0 10
  • 推薦幾個正則表達式編輯器 Debuggex :https://www.debuggex.com/ PyRegex:...
    木易林1閱讀 11,480評論 9 151
  • 為爭創(chuàng)星級網(wǎng)點夜焦,我行推出“微笑在臉,服務在心”的服務理念岂贩。微笑是服務工作者的名片茫经,身在銀行機構(gòu)的基層崗位,...
    littlelongan閱讀 238評論 0 0