Ygon's Day14_正则表达式

1.正则表达式

  1. 什么是正则表达式
    正则表达式是字符串匹配工具,他是问了在某些需求下可以更方便、更快速的处理字符串
  2. 怎么使用正则处理字符串
    python通过提供re模块来支持正则表达式
    re.fullmatch(正则表达式,字符串) -让正则表达式和字符串进行完全匹配,返回匹配结果,如果匹配不成功,返回None
  3. 怎么写正则表达式
    python中正则表达式是放在字符串中,并且这个字符串一般会在最前面加r/
    r/’正则‘
  4. 正则语法
    1)普通字符 -代表字符本身
    2). -匹配任意字符
    3)\w -匹配一个字母数字或者下划线
    4)\s -匹配一个空白字符
    空白字符包括:空格、回车、制表符
    5)\d -匹配一个数字字符
    6)\b -检测单侧边界
    单词边界:所有能够标志一个单词结束的符号都是单词边界,例如:空格、换行、标点符号
    7)^ -检测是否是字符串开头
    8)$ -检测是否是字符串结尾
    9)\大写字母 -对‘\小写字母’功能的否定
    10)[字符集] -匹配中括号中任意一个字符
    [字符1-字符2] -匹配编码值在字符1到字符2的任意一个字符
    [^字符集] -加^表示匹配除了该字符集字符的任意一个字符都可以
    [^abc] -匹配除了abc以外的任意一个字符
    11)转义符号\ -将正则中有特殊意义或者特殊功能的符号,表示符号本身
  5. 匹配次数
    1)* -匹配0次或者多次
    r'a*bc' 表示匹配一个字符串,由0个或者多个a+bc
    2)+ -匹配一次或者多次
    3){N} -匹配N次,{3}匹配三次
    {M,N} -匹配M-N次{3,5}匹配3次或者4次,或者5次
    {M,} -匹配至少M次
    {,N} -最多N次
    4)? -代表匹配0-1次
    匹配次数不确定的时候尽可能多的匹配是贪婪匹配
    非贪婪:尽可能少的匹配。在贪婪匹配后面加?
  6. 分支/选择
    要求用户名全是数字或者全部都是字母
    正则1 |正则2 -先用正则1去匹配,如果匹配成功就成功,匹配不成功就用正则2去匹配
  7. 分组()
    将小括号里面的内容当做整体操作
  8. 完全匹配:让字符串长度和内容与正则表达式完全一样
    1. re.fullmatch(正则表达式,字符串) -匹配 成功返回匹配对象,匹配失败返回None
      1)获取匹配到内容在原字符串的位置
      对象.span()
      2)获取匹配到的值
      对象.group()
      3)获取原字符串
      对象.string
    2. 匹配字符串开头
      re.match(正则表达式,字符串) -判断字符串开头是否与正则表达式匹配。
    3. re.search(正则表达式,字符串) -在字符串中查找是否有正则表达式匹配的子串,如果有就返回第一个匹配结果,如果没有,返回None
    4. re.findall(正则表达式,字符串) -获取字符串中所有满足正则表达式的子串,以列表的形式返回
      注意:
      1)没有分组 -整个正则表达式匹配到的结果作为列表元素(元素是字符串)
      2)只有一个分组 -这个分组匹配到的结果作为列表元素
      3)多个分组 -将元祖作为列表元素,每个分组匹配到的结果作为元祖的元素
    5. re.finditer(正则表达式,字符串) -获取字符串中所有能和正则表达式匹配的子串的匹配结果,返回的是一个迭代器,迭代器中的元素是匹配对象
    6. re.split(正则表达式,字符串) -将字符串按照满足正则表达式的子串进行切割
    7. re.sub(正则表达式,新字符串,字符串)-将字符串中满足正则表达式的子串替换成新字符串
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容