之前我们发现,通过字符串的find方法查找十分的麻烦,而且不具备通用性。所以,我们想,能不能利用我们要查找字符串的特征进行查找呢,这时候就得使用Python的正则表达式了。正则表达式是能够描述一些复杂规则的一个工具,所以面对这些问题时,使用正则表达式会十分简单。
不同语言实现正则表达式的方法不同,Python是通过re模块来实现的。
下面将具体的给出例子演示re模块中的search()方法的用法:
代码模块一将演示:
re.search()初步用法
正则表达式元字符 .
>>> import re
>>> re.search(r'fish', 'cat enjoys eating fish') #search()方法用于在字符串里搜索正则表达式模式第一次出现的位置。有两点要注意的,正则表达式模式要使用原始字符串,即前面加上r。起始位置是从0开始的,找不到返回None
<_sre.SRE_Match object; span=(18, 22), match='fish'>
>>> 'cat enjoys eating fish'.find('fish') #上个例子字符串方法也能实现,后面将举一个不能实现的
18
>>> re.search(r'Fish', 'cat enjoys eating fish') #一个找不到的例子,可以看见什么都没有出现,可以通过print方法显示
#例子:find方法没办法实现的。我们大家或多或少的知道使用 * 或 ? 通配符用来表示任何字符,例如我们想要找到word类型的文件可以这样搜索:*.docx(docx是word文件的后缀名,*通配任何文件名)。正则表达式也有所谓的通配符,不过是以.来实现的,可以匹配除了换行符以外的任何字符.
>>> re.search(r