Python基础入门笔记:正则表达式
正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模式匹配。
Python 自 1.5 版本起增加了 re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。
如下代码:
# 设定一个常量
a = '学习Python不难'
# 判断是否有 “Python” 这个字符串,使用 PY 自带函数
print('是否含有“Python”这个字符串:{0}'.format(a.index('Python') > -1))
print('是否含有“Python”这个字符串:{0}'.format('Python' in a))
复制代码
输出结果:
是否含有“Python”这个字符串:True
是否含有“Python”这个字符串:True
复制代码
上面用 Python 自带函数就能解决的问题,我们就没必要使用正则表达式了,这样做多此一举。
直接举个 Python 中正则表达式使用例子好了:找出字符串中的所有小写字母。
首先我们在 findall 函数中第一个参数写正则表达式的规则,其中[a-z]
就是匹配任何小写字母,第二个参数只要填写要匹配的字符串就行了。具体如下:
import re
# 设定一个常量
a = '学习Python不难'
# 选择 a 里面的所有小写英文字母
re_findall = re.findall('[a-z]', a)
print(re_findall)
复制代码
输出结果:
['y', 't', 'h', 'o', 'n']
复制代码
这样我们就拿到了字符串中的所有小写字母了。
补充:
- 贪婪模式:它的特性是一次性地读入整个字符串,如果不匹配就吐掉最右边的一个字符再匹配,直到找到匹配的字符串或字符串的长度为 0 为止。它的宗旨是读尽可能多的字符,所以当读到第一个匹配时就立刻返回。
- 懒惰模式:它的特性是从字符串的左边开始,试图不读入字符串中的字符进行匹配,失败,则多读一个字符,再匹配,如此循环,当找到一个匹配时会返回该匹配的字符串,然后再次进行匹配直到字符串结束。
THE END