字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求无处不在。
它的设计思想是用一种描述性的语言来给字符串定义一个规则。凡是符合规则的字符串,我们就认为它匹配了;否则该字符串就是不合法的。re 模块,使 Python 语言拥有全部的正则表达式功能。import re
ret = re.match('复仇者联盟\d','复仇者联盟5')
ret.group()
#输出结果:'复仇者联盟5'
# 非贪婪匹配 (匹配最短的 以a开头以b结尾 的字符串)ret_ft = re.match('a.*?b', 'aabab') ret_t = re.match('a.*b', 'aabab')
print(ret_ft.group(), ret_t.group())
# aab aabab
# 案例1
# 判断变量名是否合法
names = ['age_1', '1age_', 'age-1', '/age', 'get_ipython']
for name in names:
ret3 = re.match('^[a-zA-Z_][a-zA-Z0-9_]*$', name)
if ret3:
print('{}:符合规范,匹配结果:{}'.format(name, ret3.group()))
else:
print('{}:不符合规范'.format(name))
# age_1:符合规范,匹配结果:age_1
# 1age_:不符合规范
# age-1:不符合规范
# /age:不符合规范
# get_ipython:符合规范,匹配结果:get_ipython