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())的一个示例 

1 import re #导入正则表达式的re模块
2 #模式“foo”完全匹配字符串“foo”,我们也能够确认 m是交互式解释器中匹配对象的示例
3 m = re.match('foo', 'foo') # 模式匹配字符串
4 if m is not None: # 如果匹配成功,就输出匹配内容
5     print(m.group())
6     print("完全匹配字符串")
7     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()#匹配失败 不是从字符串的起始位置开始匹配的

 

posted @ 2018-05-08 14:31  NEO-Karl  阅读(418)  评论(0编辑  收藏  举报