1.3 正则表达式和python语言-1.3.4使用 match()方法匹配字符串
1.3.4使用 match()方法匹配字符串(第一次写博客,格式,述语有不当之处还请见谅)2018-05-08
Python 代码是以Jupyter Notebook编写的,主要写的是python3的代码,有不兼容之处还请见谅。本人小白,虽然之前自学过python语言的基础,但是学完之后感觉还是很模糊。
主要是将python核心编程书中的代码知识自己写一遍熟悉一下,加深理解。其中程序运行结果很简单,在程序代码中基本备注清楚。
首先,我们得知道match()函数的基本用法与作用:
match()是将要介绍的第一个 re 模块函数和正则表达式对象(regex object)方法。
match()函数试图从字符串的起始部分对模式进行匹配。如果匹配成功,就返回一个匹配对象; 如果匹配失败,就返回 None,匹配对象的 group()方法能够用于显示那个成功的匹配。
下面是如何运用 match()(以及 group())的一个示例
import re #导入正则表达式的re模块
#模式“foo”完全匹配字符串“foo”,我们也能够确认 m是交互式解释器中匹配对象的示例
m = re.match('foo', 'foo') # 模式匹配字符串
if m is not None: # 如果匹配成功,就输出匹配内容
print(m.group())
print("完全匹配字符串")
print(m)
#AttributeError 异常(None 是返回的错误值,该值并没有 group()属性[方法])
m = re.match('foo','bar')# 模式并不能匹配字符串
if m is not None: # (单行版本的 if 语句)
print(m.group())
else:
print("模式并不能匹配字符串")
#只要模式从字符串的起始部分开始匹配,即使字符串比模式长,匹配也仍然能够成功.例如,模式“foo”将在字符串“food on the table”中找到一个匹配,因为它是从字符串的起
#始部分进行匹配的。
m = re.match('foo', 'food on the table') # 匹配成功
if m is not None:
print("匹配成功")
print(m.group())
#可以看到,尽管字符串比模式要长,但从字符串的起始部分开始匹配就会成功。
#字符串‘foo’是从那个比较长的字符串中抽取出来的匹配部分利用 Python 原生的面向对象特性,忽略保存中间过程产生的结果
#如果匹配失败,将会抛出 AttributeError 异常
re.match('foo','food on the table').group()
#re.match('foo','sssfoo').group()#匹配失败 不是从字符串的起始位置开始匹配的
1.3 正则表达式和python语言-1.3.4使用 match()方法匹配字符串的更多相关文章
- JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分)
JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分) 1.匹配属性的开头 $("[attributeName^='value']"); 2.匹配属性的结尾 ...
- 1.3 正则表达式和python语言-1.3.6匹配多个字符串
1.3.6 匹配多个字符串(2018-05-08) 我们在正则表达式 bat|bet|bit 中使用了择一匹配(|)符号.如下为在 Python中使用正则表达式的方法. import re #bat| ...
- 1.3 正则表达式和Python语言-1.3.5使用 search()在一个字符串中查找模式(搜索与匹配 的对比)
1.3.5 使用 search()在一个字符串中查找模式(搜索与匹配的对比) 其实,想要搜索的模式出现在一个字符串中间部分的概率,远大于出现在字符串起始部分的概率.这也就是 search()派上用场的 ...
- .net正则表达式大全(.net 的 System.Text.RegularExpressions.Regex.Match()方法使用)
正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET的System.dll类库提供的System.Text.RegularExpression ...
- Python学习手册之捕获组和特殊匹配字符串
在上一篇文章中,我们介绍了 Python 的字符类和对元字符进行了深入讲解,现在我们介绍 Python 的捕获组和特殊匹配字符串.查看上一篇文章请点击:https://www.cnblogs.com/ ...
- 1.3 正则表达式和python语言-1.3.7 匹配任何单个字符
1.3.7 匹配任何单个字符 (2018-05-08) 点号(.)不能匹配一个换行符\n 或者非字符,也就是说,一个空字符串 搜索一个真正的句点(小数点), 而我们通过使用一个反斜线对句点的功能进行转 ...
- 1.3 正则表达式和python语言-1.3.8 创建字符集([ ])
1.3.8 创建字符集([ ]) (2018-05-0815:24:00) 下面的示例将说明对于 r2d2|c3po 的限制将比[cr][23][dp][o2]更为严格 import re # 下面的 ...
- Python语言学习:列表常用的方法
python 列表常用的方法 1.append( ):用于在列表末尾添加新的对象 list.appent(obj) #obj:添加到列表末尾的对象 #!/usr/bin/python aList = ...
- python语言实现阶乘的两种方法---递归和迭代
阶乘的递归实现,代码如下: def factorial(n): if n==1: return 1 else: return n*factorial(n-1) number = int(input(& ...
随机推荐
- step into,step over,step out.
step into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数): step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止, ...
- Livereload or meta
静态页面布局的过程中,如果可以一边写一边看见结果,那肯定是很方便的,在最开始使用的DW中实现了这一目标,但并不是浏览器环境下.之后使用gulp中的livereload后配合chrome插件livere ...
- sql server 查询log日志 sql语句
xp_readerrorlog 一共有7个参数: 1. 存档编号 2. 日志类型(1为SQL Server日志,2为SQL Agent日志) 3. 查询包含的字符串 4. 查询包含的字符串 5. Lo ...
- git下载/上传文件提示:git did not exit cleanly
问题:git操作下载/上传文件,提示信息如下 TortoiseGit-git did not exit cleanly (exit code 1) TortoiseGit-git did not ex ...
- JAVA进阶21
1.Vector向量 如何选用ArrayList.LinkedList.Vector? ①需要线程安全时,用Vector ②不存在线程安全问题时,并且查找较多用ArrayList(一般使用它) ③不存 ...
- STL--sort源码分析
SGI STL sort源码 temlate <class RandowAccessIterator> inline void sort(RandowAccessIterator firs ...
- Vue.js库的第一天的学习
一,vue.js简介 Vue.js可以作为一个js库来使用,也可以用它全套的工具来构建系统界面,这些可以根据项目的需要灵活选择 所以说, vue.js是一套构建用户界面的渐进式框架 Vue.js的核心 ...
- 024_mac配置屏保命令
注意吃饭等离开工位的时候养成随时开启屏保的功能,养成信息保护的好习惯,mac如何配置屏幕保护呢? 一. 通过mac"设置"里的"Desktop & Screen ...
- OAuth 2.0详解
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为R ...
- Java线程池(待续)
线程池是预先创建线程的一种技术..线程池在还没有任务到来之前,创建一定数量的线程,放入空闲队列中.这些线程都是处于睡眠状态,即均为启动,不消耗CPU,而只是占用较小的内存空间.当请求到来之后,缓冲池给 ...