位置: 编程技术 - 正文

Python基础教程之正则表达式基本语法以及re模块(python基础教程chm)

编辑:rootadmin

推荐整理分享Python基础教程之正则表达式基本语法以及re模块(python基础教程chm),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python0基础教程,python基础教程 入门教程,python基础教程 入门教程,python 基础 教程,python基础教程 zol,python基础教程 zol,python 基础 教程,python基础教程 zol,内容如对您有帮助,希望把文章链接给更多的朋友!

什么是正则:

正则表达式是可以匹配文本片段的模式。

正则表达式'Python'可以匹配'python'

正则是个很牛逼的东西,python中当然也不会缺少。

所以今天的Python就跟大家一起讨论一下python中的re模块。

re模块包含对正则表达式的支持。

通配符

.表示匹配任何字符:

‘.ython'可以匹配'python'和'fython'

对特殊字符进行转义:

‘python.org'匹配‘python.org'

字符集

‘[pj]ython'能够匹配'python'和'jython'

反转字符集

‘[^abc]'可以匹配除了abc之外的任何字符

选择符

使用管道符号|

可选项

加上问好就变为了可选项:

r'(

*:允许模式重复0次或多次 +:允许模式重复1次或多次 {m, n}允许模式重复m-n次

当然,正则语法规则很多,远不止上面的这些。但是我们只能点到为止了,因为这篇博客的目的是介绍Python中的模块,re模块。

re 模块使 Python 语言拥有全部的正则表达式功能。

compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。

re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

re中重要的函数:

Python基础教程之正则表达式基本语法以及re模块(python基础教程chm)

compile(pattern[, flags]) 根据包含正则表达式的字符串创建模式对象

search(pattern, string[, flags]) 在字符串中寻找模式

match(pattern, string[, flags]) 在字符串的开始处匹配模式

split(pattern, string[, maxsplit=0]) 根据匹配项分割字符串

findall(pattern, string) 列出字符串中模式的所有匹配项

sub(pat, rep, string[, count=0]) 字符串中所有pat的匹配项用repl替换

escape(string) 将字符串中所有特殊表达式字符转义

下面就进行简单的应用:

使用match

使用search

这时候需要停一下,match和search的区别呢?

看看结果先:

match例子中结果:

(0, 3)None

search例子中结果:

(0, 3)(, )

match()函数只检测RE是不是在string的开始位置匹配,search()会扫描整个string查找匹配; 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none。

search()会扫描整个字符串并返回第一个成功的匹配。

使用sub

Python 的re模块提供了re.sub用于替换字符串中的匹配项。

结果:

Phone Num : --Phone Num :

最后献上菊花:

^ 匹配字符串的开头$ 匹配字符串的末尾。. 匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符。[...] 用来表示一组字符,单独列出:[amk] 匹配 'a','m'或'k'[^...] 不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。re* 匹配0个或多个的表达式。re+ 匹配1个或多个的表达式。re&#; 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式re{ n} re{ n,} 精确匹配n个前面表达式。re{ n, m} 匹配 n 到 m 次由前面的正则表达式定义的片段,贪婪方式a| b 匹配a或b(re) G匹配括号内的表达式,也表示一个组(&#;imx) 正则表达式包含三种可选标志:i, m, 或 x 。只影响括号中的区域。(&#;-imx) 正则表达式关闭 i, m, 或 x 可选标志。只影响括号中的区域。(&#;: re) 类似 (...), 但是不表示一个组(&#;imx: re) 在括号中使用i, m, 或 x 可选标志(&#;-imx: re) 在括号中不使用i, m, 或 x 可选标志(&#;#...) 注释.(&#;= re) 前向肯定界定符。如果所含正则表达式,以 ... 表示,在当前位置成功匹配时成功,否则失败。但一旦所含表达式已经尝试,匹配引擎根本没有提高;模式的剩余部分还要尝试界定符的右边。(&#;! re) 前向否定界定符。与肯定界定符相反;当所含表达式不能在字符串当前位置匹配时成功(&#;> re) 匹配的独立模式,省去回溯。w 匹配字母数字W 匹配非字母数字s 匹配任意空白字符,等价于 [tnrf].S 匹配任意非空字符d 匹配任意数字,等价于 [0-9].D 匹配任意非数字A 匹配字符串开始Z 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串。cz 匹配字符串结束G 匹配最后匹配完成的位置。b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'erb' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。B 匹配非单词边界。'erB' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。n, t, 等. 匹配一个换行符。匹配一个制表符。等1...9 匹配第n个分组的子表达式。 匹配第n个分组的子表达式,如果它经匹配。否则指的是八进制字符码的表达式。

re的正则表达式语法

正则表达式语法表如下:

语法 意义 说明 "." 任意字符 "^" 字符串开始 '^hello'匹配'helloworld'而不匹配'aaaahellobbb' "$" 字符串结尾 与上同理 "*" 0 个或多个字符(贪婪匹配) <*>匹配 "+" 1 个或多个字符(贪婪匹配) 与上同理 "&#;" 0 个或多个字符(贪婪匹配) 与上同理 *&#;,+&#;,&#;&#; 以上三个取第一个匹配结果(非贪婪匹配) <*>匹配

用Python实现斐波那契(Fibonacci)函数 Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个。最近在玩Python,在粗略的看了一下LearningPython和CorePython之后,

python Django批量导入不重复数据 本文为大家分享了pythonDjango批量导入不重复数据的实现代码,供大家参考,具体内容如下程序如下:#coding:utf-8importosos.environ.setdefault("DJANGO_SETTINGS_MODULE",

python Django批量导入数据 前言:这期间有研究了Django网页制作过程中,如何将数据批量导入到数据库中.这个过程真的是惨不忍睹,犯了很多的低级错误,这会在正文中说到的.再者导

标签: python基础教程chm

本文链接地址:https://www.jiuchutong.com/biancheng/384403.html 转载请保留说明!

上一篇:详解Python使用simplejson模块解析JSON的方法(python simpy)

下一篇:用Python实现斐波那契(Fibonacci)函数(python编写一个函数求斐波那契)

  • 盈余公积发放现金股利分录怎么写
  • 水利基金申报表减除项填什么
  • 个体户转一般纳税人怎么做账
  • 报税时资产总额怎么填
  • 一般纳税人厂房出租怎么开票
  • 发票开做红冲的会计分录怎么做
  • 发票丢失怎么做分录
  • 按月计提短期借款利息12000元
  • 受托代销商品手续费会计分录
  • 商业企业月末结转成本
  • 生产过程中报废怎么核算成本
  • 销售货物的运费增值税计入什么科目
  • 企业购买房屋的行为涉及哪些税种
  • 买的厨房用品算什么费用
  • 工程公司后期维保费用如何入账?
  • 母公司收购少数股东股权,之前的利润母公司不享有
  • 月初缴纳的保险是当月的吗
  • 金融工具包括哪些及其法律特征
  • 补缴的公积金可以抵扣个税吗
  • 跨年度冲减收入
  • 一般纳税人购进鸡蛋怎样抵扣
  • 融资租赁的租金包括
  • 一般纳税人年审证明
  • 最优五种个人捐赠方式税务比较?
  • 购进旅客运输服务为什么不能抵扣进项税额
  • 员工报销费用
  • 一般纳税人收到专票怎么做分录
  • 员工劳务报酬分录
  • synchost.exe - synchost是什么进程 有什么作用
  • 怎样启动powerpoint
  • 现金比率分析怎么分析
  • 自产原材料
  • 网上申报税务局怎么操作
  • 退多收款怎么做分录
  • php string函数
  • PHP:curl_close()的用法_cURL函数
  • bhvc.exe
  • 机器设备的拆除,按照什么税目缴纳增值税
  • 出口退税会计分录怎么做没退到税全部减免抵
  • 递延所得税的计税基础
  • 存货盘盈如何记账
  • 低值易耗品报废时有残料价值收回的应冲减当月成本费用
  • php的implode函数
  • PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
  • 本期收入及免税收入怎么填
  • 对公收费明细入账计入什么科目
  • 上月普通发票怎么作废
  • java泛型简单例子
  • 公司开的餐费专票可以抵扣吗
  • 小企业会计准则和一般企业会计准则的区别
  • 企业给企业借款收入会计处理
  • 暂估入库有风险吗
  • 如何用织梦在本地搭建网站
  • 支付长期借款利息时,应借记什么账户
  • 电子发票的缺点
  • 没进项发票开销项发票是可以吗?
  • 企业预提的费用计入什么科目
  • 罚款属于应付账款吗
  • 个人所得税税前扣除凭证
  • 同一控制下的控股合并中,投资方
  • 减免税款属于政府补助利得吗
  • 其他应付款时间长了怎么处理?
  • 学会计前景好吗
  • centos7.6怎么安装
  • 远程桌面 登录
  • red hat7.6
  • win7开机提示重启怎么办
  • linux vi中查找内容
  • node 操作mysql
  • pops基本属性
  • Unity Spine Skeleton Animation 2D骨骼动画 For Game 介绍
  • jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
  • 三消游戏在线
  • 完美世界3v3
  • python 字典的字典
  • 一般纳税人出售房产怎么开票
  • 深圳国税局官网登录
  • 天津地税自助办税终端
  • 车辆完税证明有啥用
  • xboxone登录显示密码错误
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设