正则匹配

《1》点的使用
点“ . ”是能够匹配除了换行符以外的所有的字符包括空
例子:
line=’zhengze’
result=re.match(‘z.’,line)
if result:
print(‘成功’)
else:
print(‘失败’)

《2》反斜杠(‘\’)的使用: 由于点 ‘ . ’是特殊字符所以如果想要匹配带点的字符串 要用到 反斜杠 ‘\’
line=’1.55’
result=re.match(‘1.’,line)
if result:
print(‘成功’)
else:
print(‘失败’)
拓展:
line=’http:\\’
result=re.match(‘http:\\\\’,line)
if result:
print(‘成功’)
else:
print(‘失败’)

《3》 制定结尾的字符 用想¥”
line=123456789
result=re.match(‘.*9$’,line)
if result:
print(‘成功’)
else:
print(‘失败’)
《4》\d 代表0-9 中的任意一个数字
《5》* 是默认的贪婪模式 尽可能多的匹配 可以匹配0-n 次
例子:
line=123456789
line1=‘huang’
result=re.match(‘\d*’,line)
result1=re.match(‘\d*’,line)
注意:会匹配123456789 九个数 ,result1 也能匹配成功 匹配为空
if result:
print(‘成功’)
print(result)
else:
print(‘失败’)
《6》 ^制定开头
《7》group的使用
line=hahhahhhagga
result=re.match(‘a(ahha)(.*)’,line)
if result:
print(result)
print(result.group(0))
print(result.group(1))
print(result.group(2))
else:
print(‘匹配失败’)
#注意:
result=result.group(0) 是匹配到的所有的内容
result.group(1)是匹配到的第一个括号中的内容
result.group(2)是匹配到的第二个括号中的内容
《8》search 的使用
search是指从得一个开始匹配匹配到了就匹配匹配不到从第二个开始匹配直到匹配到为止
line=hahhahhhagga
result=re.serch(‘ahha’,line)
if result:
print(result)
print(result.group(0))
print(result.group(1))
print(result.group(2))
《9》禁止贪婪模式
一般是在贪婪模式 .*
禁止贪婪模式是 .*?
line=’zahengza1234567zaze’
result=re.match(‘za.*za.’,line)
result1=re.match(za.*?za,line)
注意:
result 贪婪模式下会匹配到zahengza1234567za
result 贪婪模式下会匹配到zahengza会尽可能少的匹配到数据
if result:
print(‘成功’)
else:
print(‘失败’)
《10》指定匹配的两个字符之间有n个字符 或指定区间个数的字符 且是贪婪模式
line=’zaaaaaaaaaaaahengza1234567zaze’
result=re.match(‘.a.{5}a’,line)
result1=re.match(‘.a.{1,7}a’,line)
#result指定字符之间有5个字符
#result1指定字符之间有5个字符
if result:
print(‘成功’)
else:
print(‘失败’)
《11》+ 至少匹配一次 即(1-n)
* 是至少匹配0次 即(0-n)
《12》[] 指的是中括号中的任意一个字符 [1-9] 是0-9 九个数字 【a-z】是26 个小写字母
import re
line=’zazaazaaazaaaazhh’
result=re.search(‘[zah]+’,line)
print(result)
《13》\w 是匹配字母使用的
《14》[1-9] 是0-9 九个数字
《15》\s 使之能匹配空白 包括\t \n \r 和空格

猜你喜欢

转载自blog.csdn.net/chengjintao1121/article/details/81840305