栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

正则表达式② 匹配规则

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

正则表达式② 匹配规则

正则表达式② 匹配规则 特殊字符匹配
  • 如果匹配的目标字符串中包含正则表达式特殊字符,则在表达式中元字符就想表示其本身含义时就需要
    进行 处理。
  • 特殊字符:. * + ? ^ $ [] () {} |
贪婪模式和非贪婪模式
  • 定义

    贪婪模式: 默认情况下,匹配重复的元字符总是尽可能多的向后匹配内容。比如: * + ? {m,n}

    非贪婪模式(懒惰模式): 让匹配重复的元字符尽可能少的向后匹配内容。

  • 贪婪模式转换为非贪婪模式

    在对应的匹配重复的元字符后加 ‘?’ 号即可

正则表达式分组
  • 定义

    在正则表达式中,以()建立内部分组,子组是正则表达式的一部分,可以作为内部整体操作对象。

  • 作用

    可以被作为整体操作,改变元字符的操作对象

  • 捕获组

    捕获组本质也是一个子组,只不过拥有一个名称用以表达该子组的意义,这种有名称的子组即为捕获组。
    格式: (?Ppattern)

注意:1.一个正则表达式中可以包含多个子组
​ 2.子组可以嵌套但是不宜结构过于复杂
​ 3.子组序列号一般从外到内,从左到右计数

正则表达式匹配原则
  1. 正确性,能够正确的匹配出目标字符串。

  2. 排他性,除了目标字符串之外尽可能少的匹配其他内容。

  3. 全面性,尽可能考虑到目标字符串的所有情况,不遗漏。

"""
示例:匹配规则
"""
#导入re模块
import re

#匹配特殊字符
result=re.findall(r'-?d+.d+',"23,34.5,-9.8,-9")  #匹配正小数,负小数
print(result)   #['34.5', '-9.8']

#贪婪模式
result=re.findall(r'ab+','abbbbbbb')
print(result)   #['abbbbbbb']
#非贪婪模式  + ----> +?
result=re.findall("ab+?","abbbbbbb")
print(result)   #['ab']

#子组
result=re.search("(ab)+","ababababab")
print(result.groups())   #ababababab
#捕获子组
result=re.search(r"(?Pw+)","王思聪")
print(result.group('xing'))     #王思聪   
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/302287.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号