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 ip正则式
May 07 Python
浅析Python中将单词首字母大写的capitalize()方法
May 18 Python
实例Python处理XML文件的方法
Aug 31 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
Jun 23 Python
Python3中使用PyMongo的方法详解
Jul 28 Python
python编程通过蒙特卡洛法计算定积分详解
Dec 13 Python
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
Python实现的堆排序算法示例
Apr 29 Python
Python实现的特征提取操作示例
Dec 03 Python
浅谈Python中的异常和JSON读写数据的实现
Feb 27 Python
django实现日志按日期分割
May 21 Python
详解python模块pychartdir安装及导入问题
Oct 22 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
最贵的咖啡是怎么产生的,它的风味怎么样?
2021/03/04 新手入门
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
PHP读书笔记整理_结构语句详解
2016/07/01 PHP
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
JS小游戏之象棋暗棋源码详解
2014/09/25 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
2015/08/22 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
浅谈redux, koa, express 中间件实现对比解析
2019/05/23 Javascript
基于JavaScript获取base64图片大小
2019/10/18 Javascript
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
2017/12/19 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
python tkinter组件摆放方式详解
2019/09/16 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
新学期校长寄语
2014/01/18 职场文书
工程采购员岗位职责
2014/03/09 职场文书
出纳会计岗位职责
2014/03/12 职场文书
2014年客房部工作总结
2014/11/22 职场文书
工会经费申请报告
2015/05/15 职场文书
团结友爱主题班会
2015/08/13 职场文书
60句有关成长的名言
2019/09/04 职场文书
ConstraintValidator类如何实现自定义注解校验前端传参
2021/06/18 Java/Android
PHP遍历数组的6种方式总结
2021/11/17 PHP