Python-Re 正则表达式

Re就是正则表达式的一个库

 

正则表达式常用操作符

操作符说明实例
.表示单个字符 
[ ]字符集,对单个字符给出取值范围[a,b,c]表示a、b、c,[a-z]表示a到z的单个字符 
[ ^ ]非字符集,对当个字符给出排除范围[^abc]表示非a 或 b 或 c 的单个字符
*前一个字符0次或者无限次扩展abc*表示ab、abc、abcc、abccc等
+前一个字符1次或者无限次扩展abc+表示abc、abcc、abccc等
前一个字符0次或者1次扩展abc?表示ab、abc
|左右表达式任意一个adc|def 表示 adc 或 者 def
{m}扩展前一个字符m次ab{3}c 表示abbbc
{m,n}扩展前一个字符m到n次(含n)ab{1,2}c 表示abc、abbc
^匹配字符串开头^abc 表示abc在一个字符串的开头
$匹配字符串结尾abc$ 表示abc在一个字符串结尾
( )分组标记,内部只能用|操作符(abc) 表示abc,(abc|def) 表示 abc、def
\d数字,等价于[0-9] 
\w单次字符,等价于[A-Za-z0-9_] 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Re主要功能函数

函数说明
re.search()在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象
re.match()从一个字符串的开始位置起匹配正则表达式,返回match对象
re.findall()搜索字符串,以列表形式返回所有匹配的子串
re.spliter()将一个字符串按照正则表达式匹配的结果进行分割,返回列表类型
re.finditer()搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象
re.sub()在一个字符串中替换所有的正则表达式的子串,返回替换后的字符串

 

 

 

 

 

 

 

 

正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。
多个标志可以通过按位 OR(|) 它们来指定。如 re.I | re.M 被设置成 I 和 M 标志:

修饰符描述
re.I是匹配对大小写不敏感
re.L做本地识别匹配
re.M多行匹配,影响^和$
re.S使 . 匹配包括换行在内的所有字符
re.U根据Unicode字符集解析字符。这个标志影响\w,\W,\b,\B
re.X该标志通过更灵活的格式以便将正则表达式写的更易于理解

 

 

 

 

 

 

 

 

def out(list):
 for i in list:
   print(i)

import re
#创建模式对象
pat = re.compile("AA")  #此处AA,是正则表达式,用来去验证其他的字符串
m = pat.search("AAB")       #search字符串被校验的内容
print(m)

#没有模式对象
m=re.search("asd","Aasd")  #前面的字符串是规则,后面的字符串是被校验的对象
print(m)

m = re.findall("[a-z]","dasdASdasdaASDASD")
print(m) #['d', 'a', 's', 'd', 'd', 'a', 's', 'd', 'a']

m = re.findall("[a-z]+","dasdASdasdaASDASD")
print(m) #['dasd', 'dasda']

m =re.findall(".*@qq.com","123@qq.com||||1234567@qq.comddd11")
print(m) #['123@qq.com||||1234567@qq.com']

m=re.sub("a","A","aa111A2sda")
print(m)  #AA111A2sdA   替换字符并返回字符串


m= "\r\n\.\\"
print(m)  #\.\

m= r"\r\n\.\\"  #r取消转移字符
print(m)  #\r\n\.\\

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值