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()方法匹配字符串的更多相关文章

  1. JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分)

    JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分) 1.匹配属性的开头 $("[attributeName^='value']"); 2.匹配属性的结尾 ...

  2. 1.3 正则表达式和python语言-1.3.6匹配多个字符串

    1.3.6 匹配多个字符串(2018-05-08) 我们在正则表达式 bat|bet|bit 中使用了择一匹配(|)符号.如下为在 Python中使用正则表达式的方法. import re #bat| ...

  3. 1.3 正则表达式和Python语言-1.3.5使用 search()在一个字符串中查找模式(搜索与匹配 的对比)

    1.3.5 使用 search()在一个字符串中查找模式(搜索与匹配的对比) 其实,想要搜索的模式出现在一个字符串中间部分的概率,远大于出现在字符串起始部分的概率.这也就是 search()派上用场的 ...

  4. .net正则表达式大全(.net 的 System.Text.RegularExpressions.Regex.Match()方法使用)

    正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET的System.dll类库提供的System.Text.RegularExpression ...

  5. Python学习手册之捕获组和特殊匹配字符串

    在上一篇文章中,我们介绍了 Python 的字符类和对元字符进行了深入讲解,现在我们介绍 Python 的捕获组和特殊匹配字符串.查看上一篇文章请点击:https://www.cnblogs.com/ ...

  6. 1.3 正则表达式和python语言-1.3.7 匹配任何单个字符

    1.3.7 匹配任何单个字符 (2018-05-08) 点号(.)不能匹配一个换行符\n 或者非字符,也就是说,一个空字符串 搜索一个真正的句点(小数点), 而我们通过使用一个反斜线对句点的功能进行转 ...

  7. 1.3 正则表达式和python语言-1.3.8 创建字符集([ ])

    1.3.8 创建字符集([ ]) (2018-05-0815:24:00) 下面的示例将说明对于 r2d2|c3po 的限制将比[cr][23][dp][o2]更为严格 import re # 下面的 ...

  8. Python语言学习:列表常用的方法

    python 列表常用的方法 1.append( ):用于在列表末尾添加新的对象 list.appent(obj) #obj:添加到列表末尾的对象 #!/usr/bin/python aList = ...

  9. python语言实现阶乘的两种方法---递归和迭代

    阶乘的递归实现,代码如下: def factorial(n): if n==1: return 1 else: return n*factorial(n-1) number = int(input(& ...

随机推荐

  1. 2、搭建一个简单的Web项目

    一.创建一个Web项目: 1.File->new Project->Java->JavaEE->Web Application 2.为项目起名: 3.配置项目:在项目上击右键- ...

  2. input file 重复上传同一张图片失效的解决办法

    解决方法: 每次取消图片预览后,重置input[type=’file’]的value的值 链接:https://blog.csdn.net/zd717822023/article/details/78 ...

  3. 循环队列和链式队列(C++实现)

    循环队列: 1.循环队列中判断队空的方法是判断front==rear,队满的方法是判断front=(rear+1)%maxSize.(我曾经想过为什么不用一个length表示队长,当length==m ...

  4. vo类,model类,dto类的作用及划分

    1.entity里的每一个字段,与数据库相对应, 2.dto里的每一个字段,是和你前台页面相对应, 3.VO,这是用来转换从entity到dto,或者从dto到entity的中间的东西.   举个例子 ...

  5. Spring框架中的org.springframework.context.annotation.Import注解类

    @Import注解的作用和在使用spring的xml配置时用到的<import/>类似.但应注意是@Import在使用时必须要保证能被IOC容器扫描到,所以通常它会和@Configurat ...

  6. OSG开源教程(转)

    例:geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS,0,4)); 来指定要利用这些数据生成一个怎么样的形状. ...

  7. 各种手工DIY

    http://www.guokr.com/scientific/subject/diy/ 高仿宜家莲花灯 http://www.guokr.com/article/179863/ 做一只会发光的魔幻吊 ...

  8. webpack4学习笔记

    执行webpack-dev-server的时候不会自动生成dist打包目录,怪不得公司的项目里面都没用到webpack-dev-server呢 执行webpack的时候会生成dist目录 watch的 ...

  9. 射线法(1190 - Sleepwalking )

    题目:http://lightoj.com/volume_showproblem.php?problem=1190 参考链接:https://blog.csdn.net/gkingzheng/arti ...

  10. luoguP1373 小a和uim之大逃离

    DP专题 题目链接 思路 \(f[i][j][a][b][0/1]\)表示在\((i,j)\)这个格子,小a有a滴魔液,他的伙伴有b滴,上一步是小a(0)或者他的伙伴(1)吸取的魔液. (显然)数组开 ...