美文网首页
正则表达式基础总结

正则表达式基础总结

作者: 宝玉蕾蕾 | 来源:发表于2018-12-20 12:38 被阅读0次

正则表达式:匹配或查找符合某些规则的字符串数据,通用性强,适用于很多编程语言

要用正则表达式,需导入re模块,re.match(正则,要匹配的字符串)根据正则表达式从头开始匹配字符串数据,match方法进行匹配,group方法来提取匹配到的数据,正则前加r

单字符匹配

. 匹配任意一个字符(除了\n)

[ ]匹配[]中列举的字符

\d 数字0~9

\D 非数字

\s 匹配空白:空格,tab键

\S 非空白

\w 非特殊字符,即a~z,A~Z,0~9,_,汉字

\W  特殊字符 非字母,非数字,非汉字

匹配多个字符的格式

*匹配前一个字符0次或无限次,可有可无

+ 一次或无限次

?一次或0次

{m} 前一个字符出现m次

{m,n}  前一个字符出现m到n次

匹配开头和结尾的正则表达式:

^ 匹配字符串开头 (“^\d.*\d&”,”3s2”)匹配以数字开头以数字结尾,中间不限

$ 匹配字符串结尾

[^指定字符]除指定字符外都匹配  (”[^abc]”,”d”)

匹配分组

| 匹配左右任意一个表达式

(ab) 将括号中字符作为一个分组

\num 引用第num个分组匹配到字符串

(?P<name>) 分组起别名,可以将前面用到的匹配规则起名,然后后面直接用

(?P=name) 引用别名为name分组匹配到的字符串

re模块的高级用法:

re.search(pattern,str) 根据正则表达式查找数据,只查找一次

re.findall(pattern,str)查找出全部匹配项

re.sub(pattern,reply,str,count=1) 将匹配到的数据进行替换,count为替换次数,默认为全部替换

re.split(pattern,str, maxsplit=1)根据匹配进行切割字符串,并返回一个列表,maxsplit为分割次数,默认全部分割

Python贪婪和非贪婪

Python里的数量词默认是贪婪的,总是尝试匹配尽可能多的字符;

非贪婪:匹配尽可能少的字符

贪婪转为非贪婪:在* , ? + {m,n}后加上?

Python中正则表达式匹配数据时字符串前面加上r表示原生字符串,数据里面的反斜杠不需要手动进行转义,r只针对反斜杠起作用,re.match(r”c:\\a”,”c:\\a\\b")

相关文章

  • 爬虫学习笔记(3): Python正则表达式Re库

    基础部分 重要性不言而喻。最开始学Perl的时候,对正则表达式做过一些总结,正则表达式笔记(三),共3篇。在这里对...

  • 正则表达式

    基础正则表达式 拓展正则表达式 贪婪与懒惰

  • 笔记:正则表达式

    正则表达式基础部分笔记

  • linux(十一) 正则

    基础正则表达式字符汇整 延伸型正则表达式 去除注释行和空行 如果使用基础正则表达式 如果是空白行,只有$,这样使用...

  • 关于正则表达式

    刷题的时候发现了关于正则表达式的题,完全忘干净了好好总结一下 正则基础知识点 元字符 元字符是构造正则表达式的一种...

  • Python语言的12个基础知识点小结

    python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序、去重、字典排序、字典、列表...

  • Java基础:正则表达式

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 正则表达式概述 正则...

  • python七正则表达式总结

    正则表达式 基础可选标志 重点:

  • 常用正则表达式及基础知识

    正则表达式 基础知识 正则表达式具有特殊含义的标点符号^ $ . * + ? = ! : | \ / ( ) [ ...

  • 正则表达式基础总结

    正则表达式:匹配或查找符合某些规则的字符串数据,通用性强,适用于很多编程语言 要用正则表达式,需导入re模块,re...

网友评论

      本文标题:正则表达式基础总结

      本文链接:https://www.haomeiwen.com/subject/iahykqtx.html