python正则表达式之对号入座篇

 更新时间:2018年07月24日 08:41:48   作者:manbayiout  
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑

一、定义

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。如果找到了符合这样一种规则的字符串,我们就说匹配上了,否则匹配失败。

二、匹配规则

1.语法规则

 

2.相关注解

a.反斜杠问题

假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。其匹配过程如下:

字符 匹配过程
\\\\abc 为字符串实值取消反斜杠转义
\\abc 为re.compile()取消反斜杠转义
\abc 欲匹配的目标字符串

为了解决输入四个“\”的麻烦,我们可以使用python里的原生字符串(raw string),即在字符串前面加上r。如下:

import re 
 print(re.search(r"\\abc","123\\abc"))

从上面可知,使用原生字符串就省去了从字符串实值到re编译器的字符串转义过程,而编译器编译的时候仍然要转义。

b.贪婪匹配与非贪婪匹配

贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如:

 import re
print(re.match("ab.*c","abcdfghc"))

匹配的结果为整个字符串。而非贪婪匹配就是匹配到结果就好,最少地匹配字符。python默认是贪婪模式;在量词后面直接加上一个问号?就是非贪婪模式。

 import re
 print(re.match("ab.*?c","abcdfghc"))

这样匹配的结果就是“abc”。

三、模块和函数

re模块

compile()编译语法规则

match()  从字符串开头位置开始匹配

search() 从字符串任意位置匹配到第一个符合规则的字符串

findall  以列表形式返回所有匹配到的字符串

finditer               以迭代器形式返回所有匹配到的字符串

split()  拆分字符串

group()   获取匹配到的字符串的分组信息

四、特殊构造的规则

 

总结

以上所述是小编给大家介绍的python正则表达式之对号入座篇,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Python实现定时监测网站运行状态的示例代码

    Python实现定时监测网站运行状态的示例代码

    这篇文章主要介绍了Python实现定时监测网站状态的示例代码,帮助大家更好的管理自己的网站,感兴趣的朋友可以了解下
    2020-09-09
  • Python3使用requests发闪存的方法

    Python3使用requests发闪存的方法

    requests是一个python 轻量的http客户端库,相比python的标准库要优雅很多。接下来通过本文给大家介绍Python3使用requests发闪存的方法,感兴趣的朋友一起学习吧
    2016-05-05
  • Python3通过chmod修改目录或文件权限的方法示例

    Python3通过chmod修改目录或文件权限的方法示例

    这篇文章主要介绍了Python3通过chmod修改目录或文件权限的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Python CleverCSV轻松处理CSV文件指南

    Python CleverCSV轻松处理CSV文件指南

    这篇文章主要为大家介绍了Python CleverCSV轻松处理CSV文件全面指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 基于Python打造一个全能文本处理工具

    基于Python打造一个全能文本处理工具

    这篇文章主要介绍了一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的可以了解下
    2025-04-04
  • matplotlib绘制两点间连线的几种方法实现

    matplotlib绘制两点间连线的几种方法实现

    本文主要介绍了matplotlib绘制两点间连线的几种方法实现,主要介绍了4种方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • python机器学习Github已达8.9Kstars模型解释器LIME

    python机器学习Github已达8.9Kstars模型解释器LIME

    这篇文章主要为大家介绍了Github已达8.9Kstars的最佳模型解释器LIME的使用示例及功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • Python使用gmplot创建动态地图可视化

    Python使用gmplot创建动态地图可视化

    gmplot 是一个 Python 库,用于基于 Google Maps 的静态地图生成可视化,它提供简单的 API 来绘制标记、路径、热力图等地理信息数据,本文给大家介绍了如何使用 gmplot 在 Python 中创建动态地图可视化,需要的朋友可以参考下
    2024-12-12
  • python数据可视化自制职位分析生成岗位分析数据报表

    python数据可视化自制职位分析生成岗位分析数据报表

    之前网上也有不少关于行业的分析数据,今天我们就根据不同岗位,公司类型规模,学历要求,薪资分布等来进行分析,把职位分析功能集合封装起来,做成一个小工具分享给大家吧
    2021-09-09
  • python的dict判断key是否存在的方法

    python的dict判断key是否存在的方法

    在本篇内容里小编给大家整理的是一篇关于python的dict判断key是否存在的方法,有需要的朋友们可以参考下。
    2020-12-12

最新评论