正規表示式
字元表示例項
\d0-9的任何數字
\d0-9的以外的任何字元
\w任何字母、數字、下劃線,可認為匹配單詞
\w\w以外的任何字元
\s空格、製表符\t、換行符\n,可認為是匹配』空白『字元
\s\s以外的任何字元
import re #re模組包含正則表達相關含函式
#匹配"asfasf123-123-1234asfasf"中的123-123-1234
reg = re.
compile
(r'\d\d\d-\d\d\d-\d\d\d\d'
)reg1 = re.
compile
(r'(\d\d\d)-(\d\d\d-\d\d\d\d)'
)#和reg一樣,只是分為2組
reg2 = re.
compile
(r'\d-\d-\d'
)#------------------------------------
#title:使用管道'|'匹配多個分組
#tips :如果要匹配字串中的'|',則需要使用倒斜槓轉義,即\|
#------------------------------------
reg = re.
compile
(r'batman|tina fey'
)#匹配第一次出現的文字
#對於'batman and tina fey'的匹配,結果為'batman'
#對於'tina fey and batman'的匹配,結果為'tina fey'
reg1 = re.
compile
(r'bat(man|mobile|bat|copter)'
)#匹配字串中含有batman、batmobile、batbat、batcopter中的某乙個
#------------------------------------
#title:使用'?'實現可選匹配
#tips :如果要匹配字串中的'?',則需要使用倒斜槓轉義,即\?
#------------------------------------
reg = re.
compile
(r'bat(wo)?man'
)#模式wo為可選的分組,wo出現0次或1次,既可匹配字串中的batman,也可匹配batwoman
#------------------------------------
#title:使用'*'匹配0次或多次
#tips :如果要匹配字串中的'*',則需要使用倒斜槓轉義,即\*
#------------------------------------
reg = re.
compile
(r'bat(wo)*man'
)#(wo)*匹配'wo'零次或多次,可匹配batman、batwoman、batwowoman...
#------------------------------------
#title:使用'+'匹配1次或多次
#tips :如*果要匹配字串中的'+',則需要使用倒斜槓轉義,即\+
#------------------------------------
reg = re.
compile
(r'bat(wo)+man'
)#(wo)+匹配'wo'1次或多次,可匹配batwoman、batwowoman...
#------------------------------------
#title:使用'{}'匹配特定次數
#tips :
#------------------------------------
reg = re.
compile
(r'(ha)'
)#'ha'出現3次,匹配字串中的』hahaha',但不會匹配'haha'
# 出現3-5次 至少出現3次以上
#------------------------------------
#title:貪心(ha)和非貪心(ha)?匹配
#tips :
#------------------------------------
#對於包含'hahahahaha'的字串
reg1 = re.
compile
(r'(ha)'
)#貪心匹配結果為hahahahaha,ha出現5次的
reg2 = re.
compile
(r'(ha)?'
)#非貪心匹配結果為hahaha,ha出現3次的
#[0-5] 和 (0|1|2|3|4|5) 作用一樣,匹配0-5中的乙個
#[aeiouaeiou]匹配母音字元,不論大小寫 [^aeiouaeiou] 則是匹配非母音字元
#[a-za-z0-9] 匹配所有的大小寫字母和數字
#方括號內正規表示式符號一般不被解釋,不需要在'.'、'?'、'()'用'\'轉義
#------------------------------------
#title:開始'^'末尾'$'
#tips :插入符號'^'
#------------------------------------
reg = re.
compile
(r'^hello'
)#匹配以'hello'開始的字串
#r'\d$' 匹配以0-9中某個數結束的字串
#r'^\d+$' 匹配從開始到結束都是數字的字串
#------------------------------------
#title:萬用字元'.'
#tips :匹配除換行之外所有字元,如果要匹配字串中的'.',則需要使用倒斜槓轉義,即\.
#------------------------------------
#r'.at' 匹配cat、lat、hat...., '.'只能匹配乙個字元
#r'.*at' 匹配cccccat、9-098.\.at...., '.*'匹配所有字元, 如r'first name:(.*) last name:(.*)'
##對於'for dinner.>'
##r'<.*>' 匹配結果為'for dinner.>' 貪心匹配
##r'<.*?>' 匹配結果為'' 非貪心匹配
python正規表示式元字元 正規表示式
字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...
Python 正規表示式
1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...
Python正規表示式
學習python自然而然就不得不面對正規表示式這個難題。當初在沒有學習python之前,自己也曾經嘗試著學習過正規表示式,但是那時候感覺很麻煩,很難懂,結果就是不了了之。但是現在學習python我用的書是 python基礎教程 第二版 這本書中對re模組的講解很簡單易懂,內容不多但起碼把人領進門了,...