Python中的 正则匹配

正则匹配的基本格式

import re    
ret=re.match("正则表达式","要匹配的字符串")   
ret.group( )      提取数据

匹配单个字符:

  1. . 匹配任意一个字符(除了\n)
  2. [ ] 匹配[ ] 中的 任意一个字符
  3. \d 匹配数字 即 0-9
  4. \D 匹配非数字
  5. \s 匹配空白,即空格
  6. \S 匹配非空格
  7. \w 匹配单词字符 即 a-z、A-Z、0-9、_
  8. \W 匹配非单词字符
import re    
ret=re.match("t.o","two")   
if ret:   
	print(ret.group( ))   
else:   
	print("匹配失败")	  

匹配多个字符:

  1. * 匹配前一个字符出现 0次 或者 无限次,可有可无 贪婪匹配
  2. + 匹配前一个字符出现 1次 或者 无限次,至少一次 贪婪匹配
  3. ? 匹配前一个字符出现 0次 或者 1次,要么0次,要么1次
  4. {m} 匹配前一个字符出现 m次
  5. {m,n} 匹配前一个字符出现 m到n次
  6. {m, } 匹配前一个字符出现 至少m次
  7. { ,m} 匹配前一个字符出现 最多m次
import re   
ret=re.match("tw*o","twwwo")   
if ret:    
	print(ret.group( ))    
else:   
	print("匹配失败")   

匹配开头和结尾:

  1. ^ 匹配字符串的开头
import re        
ret=re.match("^1\d{10}","13312151412")     
if ret:     
	print(ret.group( ))     
else:     
	print("匹配失败")   
  1. $ 匹配字符串的结尾
import re     
ret=re.match("^1\d{9}2$","13312151412")     
if ret:    
	print(ret.group( ))     
else:     
	print("匹配失败")     

不以某个 数字或字母 结尾/开头

  1. [^36]$ 不以36结尾
  2. [25] 不以25开头

匹配分组:

(abc)                    将括号中的字符 作为一个分组
  |                        匹配 | 左右任意一个表达式
\num                   引用分组num匹配到的字符串  num 代表 数字

  r                        声明原生字符,特别针对 \ 等

import re   
ret=re.match(r"<(\w+)>\w{2}</\1>","<html>hh</html>")   
if ret:   
	print(ret.group( ))      
else:      
	print("匹配失败")   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值