day15正则表达式

正则表达式符号

符号 功能
. 匹配任意的字符
\w 匹配数字 字母 下划线
\s 配一个空白字符(空格、换行、制表符)
\d 匹配一个数字字符
\b 检测边界
^ 检测字符串开始
$ 检测字符串结束
\W 匹配非字母 数字 下划线
\S 匹配非空白字符
\D 匹配非数字字符
\B 检查非边界
[] 匹配 [ ] 中出现的任意一个字符

正则表达式符号组合

符号 功能
[ ^ ] 匹配不在 [ ] 中出现的任意一个字符
* 匹配0次或者多次
+ 匹配一次或者多次
? 匹配0次或者1次
{n} 匹配 n 次
{n,} 匹配大于等于n次
{m,n} 匹配至少m次,最多n次
() 匹配的时候是分组,让括号中的正则条件变成一个整体,进行整体操作

模块方法

compile:(正则字符串) 将正则表达式字符串转换成正则表达式对象
转换成正则表达式对象后,可以通过对象调用相关的方法

   re_obct = re.compile(r'\w{6,12}')
    print(re_obct.fullmatch('ahsjjs'))
    print(re.fullmatch(r'\w{6,12}', 'ahjhjs'))

fullmatch:(正则表达式, 字符串) 完全匹配,从字符串开头匹配到结尾
返回值是匹配对象, 如果匹配失败返回None

match = re.fullmatch('\w{3}', 'h3s')
    print(match)
    # a.获取匹配到的结果
    print(match.group())
    # b.获取匹配到的范围
    print(match.span())
    # c.获取匹配到的开始下标和结束下标
    print(match.start(), match.end())
    # d.获取被匹配的字符串(原字符串)
    print(match.string)

match (正则表达式, 字符串) 不完全匹配,从字符串开头开始匹配,匹配到正则表达式对应的范围为止
返回值是匹配对象, 如果匹配失败返回None

atch = re.match(r'\w{3}', 'h3shhhhsbs')
    print(match)
    print(match.group())
    print(match.string)

search(正则表达式, 字符串) 在指定的字符串中查找某种字符串(以正则表达式来描述),如果有过个满足条件的,只匹配第一个
返回值是匹配对象,如果找不到符合要求的返回None

print(re.search(r'\d{2,}[a-z]', 'sh23n--8a7a7m0899'))

findall(正则表达式, 字符串) 去获取指定字符串中满足正则条件的所有的子串
返回值是列表,列表中是符合要求的字符串。没有满足要求的子串就返回[]

result = re.findall(r'[a-zA-Z](\d+)', '12a123buy=236ok98s')
  print(result)

finditer(正则表达式, 字符串) 用法和findall一样,只是返回值的类型不一样
返回一个迭代器,迭代器中的内容是匹配对象
注意:()捕获部分无效

result = re.finditer(r'[a-zA-Z](\d+)', '12a123buy=236ok98s')
    for match in result:
        print(match)

split(正则表达式, 字符串) 按正则表达式匹配到的字符串进行切割
返回值是列表,列表元素就切割后被分段的字符串

esult = re.split(r'[\[\]*\-]', 'a[hsj27]jkkaj*7js8-jsj')
    print(result)

sub(正则表达式,新字符串, 原字符串) 在原字符串中查找符合正则的子串,替换成新的字符串
返回值是替换后的字符串

 将指定字符串中所有'sb'替换成
    str1 = '你好sb,你全家都是sb,傻叉,你是不是傻,手机上叉'
    result = re.sub(r'sb|傻叉|傻', '*', str1)
    print(str1, result)

你好sb,你全家都是sb,傻叉,你是不是傻,手机上叉 你好*,你全家都是*,*,你是不是*,手机上叉

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.正则表达式 正则表达式:用来做字符串查找,匹配,切割相关的一种工具 python对正则表达式的支持:提供re模...
    陈卷卷卷卷阅读 367评论 0赞 3
  • 01-正则表达式的符号 正则表达式:用来做字符串查找、匹配、切割用的一种工具 python对正则表达式的支持:提供...
    七一欧阅读 430评论 0赞 2
  • python的re模块--细说正则表达式 可能是东半球最详细最全面的re教程,翻译自官方文档,因为官方文档写的是真...
    立而人阅读 23,609评论 4赞 46
  • Python中的正则表达式(re) import rere.match #从开始位置开始匹配,如果开头没有则无re...
    BigJeffWang阅读 7,691评论 0赞 99
  • 现在的App做的真是越来越赏心悦目了,里面用到的小图标有时就会让我爱不释手。今天就尝试着去拿QQ的iOS版本中的图...
    阳光大道在前方阅读 415评论 0赞 0

友情链接更多精彩内容