正則表達式

摘要:記錄下自己在學習正則的過程中涉略到的點肃弟,以便在以后的應用中隨時查看鞏固

1.首先明確正則是個什么東西

? ? 簡單說正則就是一種模式悠砚,是一種字符串匹配的模式。也就是說正則就是用來匹配字符串的,例如:用來檢查一個字符串中是否還有子串赏陵、將匹配到的子串替換仲智,或者從莫一個串中取出符合條件的某個子串买乃。example: ? ?

?hello+world可以匹配helloworld、hellooworld钓辆、heloooooworld剪验,其中的+表示匹配前面的字符至少出現(xiàn)一次。

hello*world可以匹配hellworld前联、helloworld功戚、hellooworld、heloooooworld,這是因為*表示的是*前面的字符可以出現(xiàn)0次似嗤,1次或者多次疫铜。

2.正則表達式的構成

? ? 正則表達式是由普通字符(例如字符a-z)和特殊字符(稱為元字符)組成的文字模式,這種模式描述的是一種在搜索文本時要匹配的一個或者多個字符串双谆。所謂的普通字符是指除元字符外的所有不可打印和打印字符壳咕。包括所有的大小寫字母,所有的數(shù)字顽馋,所有的標點符號和一些其他的符號等谓厘。

? ? 常見的非打印字符有:

? ??????\n ?匹配一個換行符。等價于 \x0a 和 \cJ寸谜。

? ??????\r 匹配一個回車符竟稳。等價于 \x0d 和 \cM。

? ? ? ? \s 匹配任何空白字符熊痴,包括空格他爸、制表符、換頁符等等果善。等價于 [ \f\n\r\t\v]

? ? ? ? \S 匹配任何非空白字符诊笤。等價于 [^ \f\n\r\t\v]

? ? ? ? \t 匹配一個制表符。等價于 \x09 和 \cI巾陕。

? ?正則中的特殊字符有:

$ ? ? ? ?匹配字符串的結尾位置

() ? ? ? ? 標記一個子表達式的開始和結束位置讨跟,則表達式可以供以后獲取

* ? ? ? ? ?匹配*前面的字符或者表達式0次,1次或者多少次

+ ? ? ? ? ?匹配*前面的字符或者表達式1次或者多次

. ? ? ? ? ? ?匹配除換行\(zhòng)n之外的單字符

鄙煤? ? ? ? ? 匹配前面的字符或者自表達式0次或1次晾匠。或者指明一個非貪婪限定符

\ ? ? ? ? ? ? 轉義符

^ ? ? ? ? ? ?匹配輸入字符串的開始位置梯刚,除非在方括號中使用凉馆,表示非

| ? ? ? ? ? ?匹配兩者之間的選擇一個

{ ? ? ? ? ? ?限定表達式的開始 ?所謂的限定就是說某個字符限定出現(xiàn)幾次

常見的限定符

? ? 常見的限定符有或*或+或?或{n}或{n,}或{n,m}

? ? ps: *和+都是貪婪匹配(所謂的貪婪匹配是指盡可能多的匹配文字),只需要在他們后面添加澜共?(也就是說+向叉?和*?) 就可以將其轉換為非貪婪(盡可能少的匹配文字)如下的匹配:

貪婪模式下:/<.*>/ ? ? ? ? 表示已<開始咳胃,中間有任意個非換行字符植康,然后以>結束

在貪婪模式下匹配<h1>hello world</h1> 會從第一個<開始一直匹配到最后一個>,也就是說會盡可能多的匹配

在非貪婪模式下<.*?>只會匹配到<h1> 匹配到第一個>就會停止搜索

正則表達式的應用就是將上面提到的按照各種格式組合使用寫出符合需求的正則模式

常見的正則表達式:

1.校驗數(shù)字的正則表達式

數(shù)字: ? ? /^\d*$/ ? 或者 /^[0-9]*$/

n位的數(shù)字: ? ?/^\d{n}$/ ?或者/^[0-9]{n}$/

至少n為的數(shù)字:/^\d{n,}$/ 或者/^[0-9]{n,}$/

m-n位的數(shù)字: /^\d{m,n}$/ 或者 /^[0-9]{m,n}$/

零和非零開頭的數(shù)字: /^(0|[1-9][0-9]*)$/

非零開頭的最多帶兩位小數(shù)的數(shù)字: /^([1-9][0-9]*)+(\.[1-9]{0,2})?$/?

帶1-2位小數(shù)的正數(shù)或者負數(shù): /^(-)?[1-9][0-9]?\.[0-9]{1,2}$/ 或者/^(-)?\d+(\.\d{1,2})$/

正數(shù)旷太、負數(shù)展懈、小數(shù): ? ? /^(-)?\d+(\.\d+)?$/

有兩位小數(shù)的正實數(shù): /^\d+\.\d{2}$/

有1到3位小數(shù)的正實數(shù): ? ? ?/^\d+\.\d{1,3}/

非零的正整數(shù): ? ? ? ?/^[1-9]*$/ ? 或者 /^\+?[1-9][0-9]*$/

非零的負整數(shù): ? ? ? ?/^\-[1-9][0-9]*$/

非負整數(shù): ? ? ? ?/^\d+$/ ? 或者/^[1-9][0-9]*|0$/

非正整數(shù): ? ?/^-\d+$/ ?或者 ? ?/^-[1-9]\d*|0$/

非負浮點數(shù): ? ?包含例如10. 或者 10.00233 或者 0.2223 或者 .33333 或者0,或者10(整數(shù)可以認為是特殊的浮點數(shù))像這樣格式的都可以認為是浮點數(shù)供璧,那么正則就應該這樣寫

/^\d+(\.\d+)?$/ ? 或者 /^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$/

非正浮點數(shù) ? ?/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/

浮點數(shù) ? ?/^(-?\d+)(\.\d+)$/

校驗字符的正則

? ? 漢字 ? ? /^[\u4e00-\u9fa5]{0,}$/

? ? 英文和數(shù)字 ? ?/^[a-zA-Z0-9]$/

? ? 長度為3到20的所有字符 ? ?/^.{3,20}$/

? ? 由26個英文字母存崖,數(shù)字,下劃線組成的字符 ? ?/^\w+$/

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末睡毒,一起剝皮案震驚了整個濱河市来惧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌演顾,老刑警劉巖供搀,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異钠至,居然都是意外死亡葛虐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門棉钧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屿脐,“玉大人,你說我怎么就攤上這事宪卿〉乃校” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵佑钾,是天一觀的道長西疤。 經常有香客問我,道長休溶,這世上最難降的妖魔是什么瘪阁? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮邮偎,結果婚禮上管跺,老公的妹妹穿的比我還像新娘。我一直安慰自己禾进,他們只是感情好豁跑,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般艇拍。 火紅的嫁衣襯著肌膚如雪狐蜕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天卸夕,我揣著相機與錄音层释,去河邊找鬼。 笑死快集,一個胖子當著我的面吹牛贡羔,可吹牛的內容都是我干的。 我是一名探鬼主播个初,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼乖寒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了院溺?” 一聲冷哼從身側響起楣嘁,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎珍逸,沒想到半個月后逐虚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡谆膳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年叭爱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摹量。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡涤伐,死狀恐怖,靈堂內的尸體忽然破棺而出缨称,到底是詐尸還是另有隱情凝果,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布睦尽,位于F島的核電站器净,受9級特大地震影響,放射性物質發(fā)生泄漏当凡。R本人自食惡果不足惜山害,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沿量。 院中可真熱鬧浪慌,春花似錦、人聲如沸朴则。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至汹想,卻和暖如春外邓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背古掏。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工损话, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人槽唾。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓丧枪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親夏漱。 傳聞我的和親對象是個殘疾皇子豪诲,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內容