Python-正則表達式總結版

前言:

總是寫不好正則表達式黄娘,時間長不用就有些忘記了峭状,故此在總結一篇文章以便日后查閱。


一逼争、常用的匹配規(guī)則總結表

模式 描述
\w 匹配字母數(shù)字及下劃線
\W 匹配非字母數(shù)字及下劃線
\s 匹配任意空白字符优床,等價于 [\t\n\r\f].
\S 匹配任意非空字符
\d 匹配任意數(shù)字,等價于 [0-9]
\D 匹配任意非數(shù)字
\A 匹配字符串開始
\Z 匹配字符串結束誓焦,如果是存在換行胆敞,只匹配到換行前的結束字符串
\z 匹配字符串結束
\G 匹配最后匹配完成的位置
\n 匹配一個換行符
\t 匹配一個制表符
^ 匹配字符串的開頭
$ 匹配字符串的末尾
. 匹配任意字符,除了換行符
[...] 用來表示一組字符杂伟,單獨列出:[amk] 匹配 'a'移层,'m' 或 'k'
[^...] 不在 [] 中的字符:[^abc]匹配除了 a,b,c 之外的字符。
* 匹配 0 個或多個的表達式赫粥。
+ 匹配 1 個或多個的表達式观话。
? 匹配 0 個或 1 個由前面的正則表達式定義的片段,非貪婪方式
{n} 精確匹配 n 個前面表達式越平。
{n, m} 匹配 n 到 m 次由前面的正則表達式定義的片段频蛔,貪婪方式
a | b 匹配 a 或 b
( ) 匹配括號內(nèi)的表達式,也表示一個組

相關具體應用例子秦叛,請見:Python-正則表達式


二晦溪、re庫中常用方法

函數(shù) 描述
re.match(pattern, string, flags=0) 嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話挣跋,match()就返回none
re.search(pattern, string, flags=0) 掃描整個字符串并返回第一個成功的匹配
re.sub(pattern, repl, string, count=0) 用于替換字符串中的匹配項尼变,repl : 替換的字符串,也可為一個函數(shù)
re.compile(pattern[, flags]) 用于編譯正則表達式浆劲,生成一個正則表達式( Pattern )對象嫌术,供 match() 和 search() 這兩個函數(shù)使用
findall(string[, pos[, endpos]]) 在字符串中找到正則表達式所匹配的所有子串,并返回一個列表牌借,如果沒有找到匹配的度气,則返回空列表
re.split(pattern, string[, maxsplit=0, flags=0]) 能夠匹配的子串將字符串分割后返回列表

相關具體應用例子,請見:Python-正則表達式


三膨报、修飾符總結

修飾符 描述
re.I 使匹配對大小寫不敏感
re.L 做本地化識別(locale-aware)匹配
re.M 多行匹配磷籍,影響 ^ 和 $
re.S 使 . 匹配包括換行在內(nèi)的所有字符
re.U 根據(jù)Unicode字符集解析字符。這個標志影響 \w, \W, \b, \B.
re.X 該標志通過給予你更靈活的格式以便你將正則表達式寫得更易于理解现柠。

取值可以使用按位或運算符'|'表示同時生效院领,比如re.I | re.M。


四够吩、常用正則表達式

1比然、匹配email地址:
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

2、匹配網(wǎng)址URL:
[a-zA-z]+://[^\s]*

3周循、匹配18位身份證號:
^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$

4强法、匹配年月日格式:
([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))

5万俗、匹配整數(shù):
^-?[1-9]\d*$

6、匹配正整數(shù):
^[1-9]\d*$

7饮怯、匹配負整數(shù):
^-[1-9]\d*$

8闰歪、匹配空白行:
\n\s*\r

以上,對你有幫助的話就點贊??吧~

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蓖墅,一起剝皮案震驚了整個濱河市库倘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌论矾,老刑警劉巖于樟,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拇囊,居然都是意外死亡迂曲,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門寥袭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來路捧,“玉大人,你說我怎么就攤上這事传黄〗苌ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵膘掰,是天一觀的道長章姓。 經(jīng)常有香客問我,道長识埋,這世上最難降的妖魔是什么凡伊? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮窒舟,結果婚禮上系忙,老公的妹妹穿的比我還像新娘。我一直安慰自己惠豺,他們只是感情好银还,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著洁墙,像睡著了一般蛹疯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上热监,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天捺弦,我揣著相機與錄音,去河邊找鬼。 笑死羹呵,一個胖子當著我的面吹牛骂际,可吹牛的內(nèi)容都是我干的疗琉。 我是一名探鬼主播冈欢,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盈简!你這毒婦竟也來了凑耻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤柠贤,失蹤者是張志新(化名)和其女友劉穎香浩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體臼勉,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡邻吭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了泉懦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞄摊。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡性湿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出畸写,到底是詐尸還是另有隱情,我是刑警寧澤氓扛,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布枯芬,位于F島的核電站,受9級特大地震影響采郎,放射性物質(zhì)發(fā)生泄漏千所。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一蒜埋、第九天 我趴在偏房一處隱蔽的房頂上張望真慢。 院中可真熱鬧,春花似錦理茎、人聲如沸黑界。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朗鸠。三九已至,卻和暖如春础倍,著一層夾襖步出監(jiān)牢的瞬間烛占,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留忆家,地道東北人犹菇。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像芽卿,于是被迫代替她去往敵國和親揭芍。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

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