正则表达式

本文详细介绍了正则表达式的各种元素及其用法,包括通配符、转义字符、字符集、选择符等,并解释了如何使用re模块的函数进行模式匹配、搜索、分割等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通配符
    .匹配任何字符
    ?匹配任意一位字符
转义,前面加\\
字符集
    [a-z]匹配a-z任意字符,[a-z0-9]匹配a-z,0-9任意字符
    反义字符^   [^a]匹配除a外任意字符
选择符
    管道符号|,或
    可以部分使用,h(ello|i)匹配hello和hi
可选项
    ?表示前面括号()内可有可无
重复
    *表示前面括号()内允许重复0次或多次
    +表示前面括号()内允许重复1次或多次
    {m,n}表示前面括号内允许重复m-n次


属性:
    string: 匹配时使用的文本。
    re: 匹配时使用的Pattern对象。
    pos: 文本中正则表达式开始搜索的索引。值与Pattern.match()和Pattern.seach()方法的同名参数相同。
    endpos: 文本中正则表达式结束搜索的索引。值与Pattern.match()和Pattern.seach()方法的同名参数相同。
    lastindex: 最后一个被捕获的分组在文本中的索引。如果没有被捕获的分组,将为None。
    lastgroup: 最后一个被捕获的分组的别名。如果这个分组没有别名或者没有被捕获的分组,将为None。


re里函数  re.compile()
    compile(pattern[,flags])转化为模式对象
    search(pattern,string[,flags])给定字符串寻找第一个匹配给正则表达式的子字符串。找到返回true
    match(pat,str[,flags])从开头匹配
    split(pat,str[,maxsplit=0])分隔,返回list
    findall(pat,str)以给定模式返回所有匹配项,返回list
    sub(pat,rep,str[,count=0])字符串str中pat匹配项用rep替换
    escape(str)将str中可能正则的字符转义
  注:flag取值可以按位或|
    re.I忽略大小写ignorecase  re.M多行multiline
    re.S点任意匹配dotall  re.L当前区域设定loc



    小括号内的子模块,组的序号取决于左侧括号数,组0是整个模块
    group()获取匹配信息,参数可以填组编号,默认为0,未截获时返回none
    groups()以元组形式返回,参数为未截获时用此值
    groupdict()返回字典,别名为key,子串为value,没有别名不包含在内
    start()返回指定组在str中的起始索引
    end()结束索引
    span()返回(start(group),end(group))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值