正則表達(dá)式備忘

date: 2018-12-09 14:35:00

元字符

代碼 說明
. 匹配除換行符以外的任意字符
\w 匹配字母或數(shù)字或下劃線或漢字
\s 匹配任意的空白符
\b 匹配數(shù)字
^ 匹配字符串的開始
$ 匹配字符串的結(jié)束

轉(zhuǎn)義

當(dāng)需要匹配元字符本身時(shí),需要轉(zhuǎn)義穗酥,即: \元字符

重復(fù)

代碼 說明
* 重復(fù)零次或更多次
+ 重復(fù)一次或更多次
? 重復(fù)零次或一次
{m} 重復(fù)n次
{m,} 重復(fù)n次或更多次
{m,n} 重復(fù)n到m次

字符類

代碼 說明
[aeiou] 匹配任何一個(gè)英文元音字母
[0-9] 匹配一位數(shù)字
[a-z0-9A-Z_] 匹配一個(gè)大小寫字母或數(shù)字

分支條件

| 表示或
例如:0\d{2}-\d{8}|0\d{3}-\d{7}能匹配兩種電話號(hào)碼
需要注意順序护赊,左側(cè)匹配命中后就不會(huì)再繼續(xù)向右進(jìn)行

分組

()表示分組
(\d{1,3}\.){3}\d{1,3}是一個(gè)簡單的IP地址匹配表達(dá)式

反義

元字符的反義和具體字符的反義

代碼 說明
\W 匹配任意不是字母,數(shù)字砾跃,下劃線骏啰,漢字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非數(shù)字的字符
\B 匹配不是單詞開頭或結(jié)束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou這幾個(gè)字母以外的任意字符

后向引用(變量)

\b(\w+)\b\s+\1\b可以用來匹配重復(fù)的單詞,像go go, 或者kitty kitty
組名:使用<xxx>可以給分組命名 \b(?<Word>\w+)\b\s+\k<Word>\b

分組常用的語法

代碼 說明
(exp) 匹配exp,并捕獲文本到自動(dòng)命名的組里
(?<name>exp) 匹配exp,并捕獲文本到名稱為name的組里抽高,也可以寫成(?'name'exp)
(?:exp) 匹配exp,不捕獲匹配的文本判耕,也不給此分組分配組號(hào)

零寬斷言

零寬度正預(yù)測先行斷言

簡單說

(?=exp) 位置匹配:表達(dá)式自身位置后面能匹配exp
它斷言自身出現(xiàn)的位置的后面能匹配表達(dá)式exp

舉個(gè)栗子

比如\b\w+(?=ing\b),匹配以ing結(jié)尾的單詞的前面部分(除了ing以外的部分)厨内,如查找I'm singing while you're dancing.時(shí)祈秕,它會(huì)匹配sing和danc渺贤。

零寬度正回顧后發(fā)斷言

簡單說

(?<=exp) 位置匹配:表達(dá)式自身出現(xiàn)的位置前面能匹配exp
它斷言自身出現(xiàn)的位置的前面能匹配表達(dá)式exp

舉個(gè)栗子

比如(?<=\bre)\w+\b會(huì)匹配以re開頭的單詞的后半部分(除了re以外的部分),例如在查找reading a book時(shí)请毛,它匹配ading志鞍。

負(fù)向零寬斷言

零寬度負(fù)預(yù)測先行斷言

簡單說

(?!exp) 位置匹配:表達(dá)式自身位置后面不能匹配exp
它斷言此位置的后面不能匹配表達(dá)式exp

舉個(gè)栗子

\d{3}(?!\d)匹配三位數(shù)字,而且這三位數(shù)字的后面不能是數(shù)字方仿;\b((?!abc)\w)+\b匹配不包含連續(xù)字符串a(chǎn)bc的單詞固棚。

零寬度負(fù)回顧后發(fā)斷言

簡單說

(?<!exp) 位置匹配:表達(dá)式自身位置前面不能匹配exp
它斷言此位置的前面不能匹配表達(dá)式exp

舉個(gè)栗子

(?<![a-z])\d{7}匹配前面不是小寫字母的七位數(shù)字。

零寬斷言總結(jié)

代碼 說明
(?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置

注釋

小括號(hào)的另一種用途是通過語法(?#comment)來包含注釋仙蚜。例如:2[0-4]\d(?#200-249)|25[0-5](?#250-255)|[01]?\d\d?(?#0-199)此洲。

貪婪與懶惰

貪婪匹配:

a.*b aabab => aabab

懶惰匹配:

a.*?b aabab => aab / ab
所有表示數(shù)量的元字符后加問號(hào)都可以起到這種效果

處理選項(xiàng)

可以配置,忽略大小寫委粉,多行模式呜师,單行模式,忽略空白贾节,顯示捕獲等

遞歸匹配

可以像詞法分析一樣使用堆棧汁汗,比較復(fù)雜??

參考鏈接:正則表達(dá)式30分鐘入門

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市栗涂,隨后出現(xiàn)的幾起案子知牌,更是在濱河造成了極大的恐慌,老刑警劉巖斤程,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件角寸,死亡現(xiàn)場離奇詭異,居然都是意外死亡忿墅,警方通過查閱死者的電腦和手機(jī)扁藕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來球匕,“玉大人纹磺,你說我怎么就攤上這事×敛埽” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵秘症,是天一觀的道長照卦。 經(jīng)常有香客問我,道長乡摹,這世上最難降的妖魔是什么役耕? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮聪廉,結(jié)果婚禮上瞬痘,老公的妹妹穿的比我還像新娘故慈。我一直安慰自己,他們只是感情好框全,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布察绷。 她就那樣靜靜地躺著,像睡著了一般津辩。 火紅的嫁衣襯著肌膚如雪拆撼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天喘沿,我揣著相機(jī)與錄音闸度,去河邊找鬼。 笑死蚜印,一個(gè)胖子當(dāng)著我的面吹牛莺禁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窄赋,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼哟冬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了寝凌?” 一聲冷哼從身側(cè)響起柒傻,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎较木,沒想到半個(gè)月后红符,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伐债,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年预侯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峰锁。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡萎馅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出虹蒋,到底是詐尸還是另有隱情糜芳,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布魄衅,位于F島的核電站峭竣,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏晃虫。R本人自食惡果不足惜皆撩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哲银。 院中可真熱鬧,春花似錦、人聲如沸鳞尔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至守呜,卻和暖如春型酥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背查乒。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來泰國打工弥喉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人玛迄。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓由境,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蓖议。 傳聞我的和親對(duì)象是個(gè)殘疾皇子虏杰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

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