正则表达式的匹配用法以及在Python使用的简明要点

正则表达式的匹配用法以及在Python使用的简明要点

正则表达式的匹配用法

在我们的日常生活中经常会遇到对于浩如烟海的文本文件的搜索和处理。特别是在当今的信息过渡泛滥的情况下。怎样能够迅速高效的找到我们真正关注的和真正有价值的信息。不让过度的噪音白白的消耗掉我们有限的注意力。

正则表达式提供了一个高效易用的解决方案。我在日常的工作生活中并没有去强行的记忆正则表达式的语法和使用练习。只是在使用的时候像查阅手册一样去使用他。在这里,我强烈推荐一个关于正则表达式的网站:regex Laboratory

这个在线的正则表达式online手册,非常的简明使用。查阅起来非常高效。里面对于正则表达式的语法规则总结分类做得非常不错。通读学习一遍,大概小半天也就够了。
正则表达式的匹配用法以及在Python使用的简明要点
另外,在这个个人网站上有一个非常非常好用的正则表达式的搜索引擎。
可以用于线下,正则表达式的编写及调试。超级好用。下载链接
正则表达式的匹配用法以及在Python使用的简明要点
这里有一个Match Tracer tool使用的简单举例。比如我想获取当前PC上路由器分配的IPv4的地址。如下图所示,在输入正则表达式后。变量 $0 捕捉到了正则表达式匹配的那一行, $1 捕捉到了我们要匹配的IPv4的地址:192.168.1.110。
正则表达式的匹配用法以及在Python使用的简明要点
正则表达式的匹配用法以及在Python使用的简明要点
如上图所示,调试使用起来简单明了。

Python使用的简明要点 – 助你快速清除使用时的陷阱

对于python当中,对于正则表达的功能是由 re 这个模块来完成的。
对于模块 re 的功能的全面使用介绍, 可以在python online doc 链接 查看。

对于python 正则表达式操作模块 re 的使用。有两点我想着重强调,

  • re 模块中 match(), search(), findall()的区别 和 使用场景。
    下图很好的对于这3中类方法进行了对比分析。
    正则表达式的匹配用法以及在Python使用的简明要点
  • 对于 贪婪匹配 和 非贪婪匹配不同的比较 和 各自的使用场景
  1. 贪婪匹配 (.*),会尽可能的往后匹配
  2. 非贪婪匹配 (。*?),会尽可能少的往后匹配。
    综上,是否加 ?会影响匹配结果的长度。

参考链接