Python基礎 正規表示式

2022-05-27 02:03:10 字數 1293 閱讀 7629

使用正規表示式之前要先導入re模組

常用正規表示式:

模式描述

'.'預設匹配除\n之外的任意乙個字元,若指定flag dotall,則匹配任意字元,包括換行

'^'匹配字元開頭,若指定flags multiline,這種也可以匹配上(r"^a","\nabc\neee",flags=re.multiline)

'$'匹配字元結尾,或e.search("foo$","bfoo\nsdfsf",flags=re.multiline).group()也可以

'*'匹配*號前的字元0次或多次,re.findall("ab*","cabb3abcbbac")  結果為['abb', 'ab', 'a']

'+'匹配前乙個字元1次或多次,re.findall("ab+","ab+cd+abb+bba") 結果['ab', 'abb']

'?'匹配前乙個字元1次或0次

''匹配前乙個字元m次

''匹配前乙個字元n到m次,re.findall("ab","abb abc abbcbbb") 結果'abb', 'ab', 'abb']

'|'匹配|左或|右的字元,re.search("abc|abc","abcbabccd").group() 結果'abc'

'(...)'

分組匹配,re.search("(abc)a(123|456)c", "abcabca456c").group() 結果 abcabca456c

'\a'

只從字元開頭匹配,re.search("\aabc","alexabc") 是匹配不到的

'\z'

匹配字元結尾,同$

'\d'

匹配數字0-9

'\d'

匹配非數字

'\w'

匹配[a-za-z0-9]

'\w'

匹配非[a-za-z0-9]

's'匹配空白字元、\t、\n、\r , re.search("\s+","ab\tc1\n3").group() 結果 '\t'

'(?p...)'

分組匹配 re.search("(?p[0-9])(?p[0-9])(?p[0-9])","371481199306143242").groupdict("city") 結果

最常用的匹配語法:

re.match 從頭開始匹配

re.search 匹配包含

re.findall 把所有匹配到的字元放到以列表中的元素返回

re.splitall 以匹配到的字元當做列表分隔符

re.sub      匹配字元並替換

re.group 返回匹配到的字串

Python 正規表示式(基礎)

正規表示式 regular expression 是乙個特殊的字串行,描述了一種字串匹配的模式可以用來檢查乙個串是否含有某種子串 將匹配的子串替換或者從某個串中取出符合某個條件的子串,或者是在指定的文章中,抓取特定的字串等。python處理正規表示式的模組是re模組,它是python語言擁有全部的正...

Python正規表示式基礎

直接給出字元就是精確匹配。特殊字元首先需要轉義如 d 匹配乙個數字,w 匹配乙個字母或者數字。123 d 可以匹配 1231 但是無法匹配 123a d d d 可以匹配到 123 w w w 可以匹配到 py3 表示任意乙個字元,py.可以表示py3 py 等 表示任意長個字元,表示至少乙個字元,...

python基礎(正規表示式)

正規表示式用於搜尋 替換和解析字串。正規表示式遵循一定的語法規則,使用非常靈活,功能強大。使用正規表示式編寫一些邏輯驗證非常方便,例如電子郵件位址格式的驗證。python提供了re模組實現正規表示式的驗證。1.簡介 正規表示式是用於文字匹配的工具,它在源字串中查詢與給定的正規表示式相匹配的部分,乙個...