正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。

  1. .点号
    用于匹配除换行符之外的任意一个字符,如t.r可以匹配tar、tbr等,但不能匹配taar,taar可以对应为t..r

  2. * 星号
    用于匹配前一个字符出现0次或者任意多次,如zo*,可以匹配z、zo、zoo等,*号经常和.号一起使用,.*代表任意长度的不包含换行符的字符。

  3. \{n,m}\}
    虽然*可用于重复匹配前一个字符,但却不能精确地控制匹配的重复次数,使用\{n,m\}符号则能更加灵活地控制字符的重复次数。
    \{n\} 匹配前面的字符n次;
    \{n,\} 匹配前面的字符至少n次;
    \{n,m\}匹配前面的字符n到m次;
    ro\{2\}t,匹配为root,ro\{2,\}t,匹配root、rooot、roooot等,ro\{2,10\}t匹配root、rooot一直到roooooooooot。

  4. ^ 尖角号
    匹配开头的字符。比如^root匹配以root开头的行。

  5. $ 美元符
    ^相对,用于匹配尾部,比如root$匹配以root结尾的行。^$则代表改行为空,因为二者之间什么都没有。

  6. [] 方括号
    用于匹配方括号中出现的任一字符,比如[ABCD]匹配A、B、C、D四个选项中的任意一个。[A-Z]匹配任意一个大写字母,[A-Za-z]匹配任意一个字母。

  7. \ 反斜杠
    代表转义字符,有一些特殊字符,都涉及到转义,才能够正确表示。比如.*表示任意长度不包含换行符的内容,而\.*表示任意长度的点号,\\是对\本身的转义。

  8. \<\>
    用于界定单词的左边界和有边界,比如\<hello用于匹配hello开头的单词,其中包括helloworld等等,hello\>用于匹配hello结尾的单词,使用\<hello\>可以精确的匹配到单词hello。

  9. \d
    匹配一个数字,等价于[0-9]\D匹配一个非数字

  10. \b
    匹配单词边界,\bhell\b可精确匹配到hello单词。\B匹配费单词的边界,比如hello\B可以匹配helloworld

  11. \w
    匹配字母、数字和下划线,等价于[A-Za-z0-9]\W等价于[^A-Za-z0-9]匹配非字母、非数字、非下划线

  12. \n
    匹配一个换行符

  13. \r
    匹配一个回车符

  14. \t
    匹配一个制表符

  15. \f
    匹配一个换页符

  16. \s
    匹配任意空白字符

  17. \S
    匹配任何非空白字符

正则表达式,一篇就够了相关推荐

  1. python正则r的作用_Python正则表达式,这一篇就够了!

    原标题:Python正则表达式,这一篇就够了! 大多数编程语言的正则表达式设计都师从Perl,所以语法基本相似,不同的是每种语言都有自己的函数去支持正则,今天我们就来学习 Python中关于 正则表达 ...

  2. 史上最全的Linux常用——目录和文件管理命令——收藏这一篇就够了!(超全,超详细)

    史上最全的Linux常用--目录和文件管理命令--收藏这一篇就够了!(超全,超详细) Linux目录结构 命令 查看文件内容:-cat 查看文件内容:-more 查看文件内容:-less 查看文件内容 ...

  3. 史上最全!用Pandas读取CSV,看这篇就够了

    导读:pandas.read_csv接口用于读取CSV格式的数据文件,由于CSV文件使用非常频繁,功能强大,参数众多,因此在这里专门做详细介绍. 作者:李庆辉 来源:大数据DT(ID:hzdashuj ...

  4. 干货!学习 Python 看这篇管够!!!

    文 | 潮汐 来源:Python 技术「ID: pythonall」 写在前面 各位朋友们大家好,时间飞逝,转眼咱们公众号运营 2 年了,这两年感谢各位忠实粉丝的陪伴,让我们能更有动力继续前行,也希望 ...

  5. 这一篇就够啦,带你了解MySQL的常用技巧

    前言 相关mysql 博客链接 这一篇就够啦,带你了解MySQL,SQL层面的优化 https://blog.csdn.net/qq_42292373/article/details/10891617 ...

  6. Nginx-学习nginx这一篇就够了、版本平滑升级

    学习Nginx这一篇就够了 一.Nginx概述 1. 什么是Nginx 2.常见服务器 3.什么是正向代理 二.安装Nginx与运行 1.去[nginx官网](http://nginx.org/) 下 ...

  7. 【超全汇总】学习数据结构与算法,计算机基础知识,看这篇就够了【ZT帅地】2020-3-7

    https://blog.csdn.net/m0_37907797/article/details/104029002 由于文章有点多,并且发的文章也不是一个系列一个系列发的,不过我的文章大部分都是围 ...

  8. Matplotlib三维绘图,这一篇就够了

    Matplotlib三维绘图,这一篇就够了 1. 效果图 1.1 3D线效果图 1.2 3D散点效果图 1.3 3D随机颜色散点效果图 1.4 3D散点不同mark点效果图 1.5 3D线框效果图 1 ...

  9. Matplot pyplot绘制单图,多子图不同样式详解,这一篇就够了

    Matplot pyplot绘制单图,多子图不同样式详解,这一篇就够了 1. 单图单线 2. 单图多线不同样式(红色圆圈.蓝色实线.绿色三角等) 3. 使用关键字字符串绘图(data 可指定依赖值为: ...

  10. Hbase基础(特点、架构、应用场景、集群搭建、HA设计)这一篇就够了

    Hbase基础(特点.架构.应用场景.集群搭建.HA设计)这一篇就够了 1. Hbase特点 2. Hbase VS RDBMS 3. Hbase架构及版本选择 4. Hbase应用场景 5. Ntp ...

最新文章

  1. 架构周报:微信后台系统的演进之路
  2. Hibernate使用最新的MySQL8.+版本出现的问题!
  3. 别人7天乐,运维还苦逼值班?
  4. 计算机一级某学校师资情况表,2011年计算机一级考试MS OFFICE上机考试指导
  5. 各纬度气候分布图_印度和中国都是季风气候显著的国家,但冬夏季风的强弱却完全不同...
  6. eric python mysql,python入门教程13-07 (python语法入门之ORM框架SQLAlchemy)
  7. 遍历所有点的最短路径matlab_运筹学实验8 最短路的求解
  8. [原创] Wireshark工具培训
  9. 推荐!可视化垃圾回收算法(转)
  10. 异常:Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.log4jdbc.Properties
  11. Clover-系统集成功能可能被安全软件阻止,请关闭安全软件后重启Clover的解决方案
  12. flutter学习笔记之Dart-8 问号、双问号、感叹号的理解
  13. 1区SCI潜力刊,中科院分区即将更新,有望冲击2区
  14. vue全局引入openlayers_vue+openlayers绘制省市边界线
  15. 明白了虹膜,你就知道人类为什么有如此多样的瞳色了
  16. PDPS软件:导出Web浏览器文件功能及其操作方法
  17. 今年云计算的主要趋势,混合云/边缘计算/Serverless
  18. Vue.js结合Canvas制作二维码和图片的合成(qrcanvas + html2canvas)
  19. 双系统安装红旗linux,红旗LINUX怎么安装成双系统?
  20. NR随机接入之MSG1

热门文章

  1. 忽略git项目上的任何#39;bin#39;目录
  2. win11如何禁用后台应用权限 Windows11禁用后台应用权限的设置方法
  3. 怎么修改win11睡眠时间
  4. 联想拯救者Legion Y7000P 2020款(10代INTEL+GTX1650)安装ubuntu16.04(双系统)
  5. Cookie和Session的详细介绍和使用规范
  6. 有关二级菜单缓慢效果出现(transition)
  7. L1-012 计算指数
  8. 操作属性之修改样式属性
  9. 文字阴影(HTML、CSS)
  10. C#winform遍历控件判断控件类型