什么是正則表達式:
個人對其的理解:按照一定規則,從某個字符串中匹配出想要的數據。
標准的解釋:正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本。 -------百度百科
正則表達式常用的匹配規則:
匹配某個字符串:
text = "hello" retext = re.match("he",text) print(retext.group())
可以在 text 匹配出 he。
1.只可以順着匹配,即若開頭不是 he,會報錯。
2. .group()將匹配到的類型轉換成可以讀文本。
點(.)匹配任意的字符:
text = "+hello" ret = re.match(".",text) print(ret.group())
匹配出 + 。
\d:匹配任意的數字字符(0-9)
text = "0+35" ret = re.match('\d',text) print(ret.group())
\D:匹配任意的非數字字符
text = "+" ret = re.match('\D',text) print(ret.group())
\s:匹配空白字符(\t,\r,\n)
text = " \nab " ret = re.match('\s',text) print(ret.group())
\w:匹配a-z,A-Z,數字以及下划線
text = 'a' ret = re.match('\w',text) print(ret.group())
\W:匹配到時與\w互補的
text = '++a' ret = re.match('\W',text) print(ret.group())
[ ]組合的方式:只要滿足中括號中的字符,就可以匹配
text = '0731-8888888' ret = re.match('[\d\-]',text) print(ret.group())
其中 [\d\-] 表示匹配 \d (數字0-9)或者 匹配 -。第二個 \ 表示轉義。
可以用[]表示以上的匹配:
1).用中括號代替\d:
text = '+09asd+-sad/+' ret = re.match('[0-9]',text) print(ret.group())
2).用中括號代替\D:
text = '+09asd+-sad/+' ret = re.match('[^0-9]',text) print(ret.group())
3).用中括號代替\w:
text = 'A+09asd+-sad/+' ret = re.match('[a-zA-Z0-9_]',text) print(ret.group())
4).用中括號代替\W:
text = '+09asd+-sad/+' ret = re.match('[^a-zA-Z0-9_]',text) print(ret.group())
其中 ^ 表示取非符號。