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


Posted in Python onJuly 24, 2018

一、定义

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

二、匹配规则

1.语法规则

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

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中关于中文编码问题的处理建议
Apr 08 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
通过python+selenium3实现浏览器刷简书文章阅读量
Dec 26 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
django-初始配置(纯手写)详解
Jul 30 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
解决Keras使用GPU资源耗尽的问题
Jun 22 Python
python使用Word2Vec进行情感分析解析
Jul 31 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
pytorch显存一直变大的解决方案
Apr 08 Python
详解Django中 render() 函数的使用方法
Apr 22 Python
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
May 26 Python
Python 字符串与二进制串的相互转换示例
Jul 23 #Python
Python二进制串转换为通用字符串的方法
Jul 23 #Python
Python基于多线程实现ping扫描功能示例
Jul 23 #Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 #Python
python定向爬虫校园论坛帖子信息
Jul 23 #Python
python实现图片批量压缩程序
Jul 23 #Python
python中的插值 scipy-interp的实现代码
Jul 23 #Python
You might like
php正则表达式(regar expression)
2011/09/10 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
jquery 指南/入门基础
2007/11/30 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
在python中实现对list求和及求积
2018/11/14 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
python自动识别文本编码格式代码
2019/12/26 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
python对文件的操作方法汇总
2020/02/28 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
python 实现图片批量压缩的示例
2020/12/18 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
购买原创艺术品:Zatista
2019/11/09 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
劳动之星获奖感言
2014/02/01 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
解除劳动关系协议书范文
2014/09/11 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
音乐之声观后感
2015/06/04 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书