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 为止。它的宗旨是读尽可能多的字符,所以当读到第一个匹配时就立刻返回。
  • 懒惰模式:它的特性是从字符串的左边开始,试图不读入字符串中的字符进行匹配,失败,则多读一个字符,再匹配,如此循环,当找到一个匹配时会返回该匹配的字符串,然后再次进行匹配直到字符串结束。

关于正则表达式的更多的学习还是找网上资料看看吧。

猜你喜欢

转载自blog.csdn.net/python_huohuo/article/details/82765126
今日推荐