搜索字符串
match從頭匹配 search匹配一次 findall查詢所有 【finditer 迭代器形式返回next()顯示第幾個(gè)】
方法
split支持字符串截取
sub 替換字符串
group()表示拿到分組后的結(jié)果
import re
str = zhaoyu
re.match(str,"zhaoyu")#顯示地址
re.match(str,"zhaoyu").group()#顯示字符串
group用法[想提取的數(shù)據(jù)可用括號(hào)括起來]
res = re.match("\d+(567)\d+","152567444")
res
<_sre.SRE_Match object; span=(0, 9), match='152567444'>
res.group()
'152567444'
res.group(1)[第幾個(gè)括號(hào)Juin寫幾]
'567'
正則表達(dá)式 str = zhaoyu [match從頭匹配]
. 匹配任意符號(hào)(除了換行符\n)
re.match("....yu",str)
<_sre.SRE_Match object; span=(0, 6), match='zhaoyu'>
\d 表示數(shù)字
re.match ("\d","1111ddd")
<_sre.SRE_Match object; span=(0, 1), match='1'>
re.match ("\d\d\d","1111ddd")
<_sre.SRE_Match object; span=(0, 3), match='111'>
re.match("我今年\d\d歲了","我今年55歲了")
<_sre.SRE_Match object; span=(0, 7), match='我今年55歲了'>
re.match("我今年\d\d$","我今年55")
<_sre.SRE_Match object; span=(0, 5), match='我今年55'>
\D 表示非數(shù)字
re.match ("\D","@#$%^&")
<_sre.SRE_Match object; span=(0, 1), match='@'>
\w 表示匹配大小寫字母
re.match ("\w\w\w","aVw")
<_sre.SRE_Match object; span=(0, 3), match='aVw'>
re.match ("\w\w\w","aV過")【各國語言】
<_sre.SRE_Match object; span=(0, 3), match='aV過'>
\W 表示匹配所有的特殊字符
re.match ("\W\W\W","+-")
<_sre.SRE_Match object; span=(0, 3), match='+-'>
re.match ("\W\W\W","+-A*")
\s 表示匹配空格 Tab \t
re.match ("\s\s\s"," ")
<_sre.SRE_Match object; span=(0, 3), match=' '>
re.match("\s","\n我今年55")
<_sre.SRE_Match object; span=(0, 1), match='\n'>
re.match("\s","\r我今年55")
<_sre.SRE_Match object; span=(0, 1), match='\r'>
\S 表示匹配非空格
re.match ("\S\S\S","LIU")
<_sre.SRE_Match object; span=(0, 3), match='LIU'>
^ 表示以xx開頭
re.match ("^a.*","abcde")
<_sre.SRE_Match object; span=(0, 5), match='abcde'>
re.match ("^a*","abcde")
<_sre.SRE_Match object; span=(0, 1), match='a'>
re.match ("^a.","abcde")
<_sre.SRE_Match object; span=(0, 2), match='ab'>
$ 以什么結(jié)尾
re.match (".sd$","abcdsd")
<_sre.SRE_Match object; span=(0, 6), match='abcdsd'>
【以a開頭以sd結(jié)尾】
re.match ("^a.sd$","abcdsd")
<_sre.SRE_Match object; span=(0, 6), match='abcdsd'>
\b 匹配單詞
re.match(".\bgood\b.","get good day")
<_sre.SRE_Match object; span=(0, 12), match='get good day'
[01123456789] 【0-9】【a-z】只能用于數(shù)字字母[0-9a-zA-Z]
(開頭是這些中的一個(gè)就可以匹配成功)
re.match ("[0\123456]\w*","0")
<_sre.SRE_Match object; span=(0, 1), match='0'>
>>> re.match ("[0\123456]\w*","5")
<_sre.SRE_Match object; span=(0, 1), match='5'>
re.match("[0-9a-zA-Z]","5aA10")
<_sre.SRE_Match object; span=(0, 1), match='5'>
\\表示
str = “c:\n\b”
* 匹配0-多
+匹配1-多
?匹配可以有,可以沒有,但只多1位
{m} 表示m位
{m,} 表示至少m位
{m,n}表示在這個(gè)區(qū)間內(nèi),最少5位,最多8位
寫在【】里表示取反
re.match("[^123asc]","123")
re.match("[^123asc]","vvv")
<_sre.SRE_Match object; span=(0, 1), match='v'>