对正则表达式的概念、在python中的表示方式、每个函数所返回的对象及使用方法有点模糊。这里总结了一下。
“正则表达式”:可以匹配文本片段的模式。最简单的正则表达式就是普通字符串,可以匹配其自身。
Python的re模块包含对正则表达式(regular expression)的支持。Re模块提供了一个正则表达式引擎的接口,可以将Res编译成对象并用它们来进行匹配。
1、正则表达式会被编译成‘RegexObject’实例,可以为不同的操作提供方法,如模式匹配搜索或字符串替换。
2、RegexObject实例有一些方法和属性:
如果没有匹配到的话,match() 和 search() 将返回 None。如果成功的话,就会返回一个 `MatchObject` 实例,其中有这次匹配的信息:它是从哪里开始和结束,它所匹配的子串等等。
3、‘MatchObject’的属性和方法:
例子:
在实际程序中,最常见的做法是将‘MatchObject’保存在一个变量里,然后检查它是否为None。
4、模块级函数
不一定要产生一个‘RegexObject’对象,然后再调用它的方法;re模块也提供了顶级函数调用如match()、search()、sub()等。这些函数使用RE字符串作为第一个参数,而后面的参数与相应的“RegexObject”方法的参数相同,返回要么是None,要么是一个‘MatchObject’实例。
Re模块的函数:
函数re.complie将正则表达式(以字符串书写的)转换为模式对象(即上文所提到的:RegexObject),可以实现更有效率的匹配。如果在调用search或者match函数的时候使用字符串表达的正则表达式,它们也会在内部将字符串转换为正则表达式对象。
在学习正则表达式之初会有点困难。学习他们的关键是一次只学习一点----(在文档中)查找满足特定任务需要的那部分内容,预先将它们全部记住是没有必要的。(但是预先需要一个概念,才知道哪里找,怎么找)