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正则表达式之对号入座篇,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • pyppeteer执行js绕过webdriver监测方法上

    pyppeteer执行js绕过webdriver监测方法上

    这篇文章主要为大家介绍了pyppeteer执行js绕过webdriver监测方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Python开发的十个小贴士和技巧及长常犯错误

    Python开发的十个小贴士和技巧及长常犯错误

    这篇文章主要介绍了Python开发的十个小贴士和技巧,其中一些是初学这门语言常常会犯的错误,小编给大家一一列举出来了,需要的朋友可以参考下
    2018-09-09
  • 用Python监控NASA TV直播画面的实现步骤

    用Python监控NASA TV直播画面的实现步骤

    本文分享一个名为"Spacestills"的开源程序,它可以用于查看 NASA TV 的直播画面(静止帧)
    2021-05-05
  • python实现简单购物商城

    python实现简单购物商城

    这篇文章主要为大家详细介绍了python实现简单购物商城的相关资料,具有实用性和一定的参考价值,感兴趣的朋友可以参考一下
    2016-05-05
  • Django中多种重定向方法使用详解

    Django中多种重定向方法使用详解

    这篇文章主要介绍了Django中多种重定向方法使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 基于Python写个"点球大战"小游戏

    基于Python写个"点球大战"小游戏

    这篇文章主要为大家详细介绍了如何利用Python写个简单的"点球大战"小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-12-12
  • Python自动化办公技巧分享

    Python自动化办公技巧分享

    Python自动化办公是指用Python程序来完成某些需要重复性操作的工作,例如大批量的文件处理等,本篇文章将介绍Python自动化办公的基本概念和常用技术,希望能对Python初学者提供一些帮助
    2023-06-06
  • 查看Python安装路径以及安装包路径小技巧

    查看Python安装路径以及安装包路径小技巧

    这篇文章主要介绍了查看Python安装路径以及安装包路径小技巧,本文使用直接在命令行运行Python代码的方法检测安装路径以及安装包路径,需要的朋友可以参考下
    2015-04-04
  • Python之tkinter进度条Progressbar用法解读

    Python之tkinter进度条Progressbar用法解读

    这篇文章主要介绍了Python之tkinter进度条Progressbar用法解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Python API自动化框架总结

    Python API自动化框架总结

    在本篇文章里小编给大家整理的是关于Python API自动化框架总结内容,需要的朋友们学习下。
    2019-11-11

最新评论