Pyton核心编程练习笔记第1章 正则表达式

这篇博客详细介绍了Python正则表达式的基础应用,通过30个逐步进阶的编程练习,涵盖匹配字符串、邮箱、网址、日期、信用卡号等多个方面,旨在提升读者对正则表达式的理解和运用能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1-1 识别后续的字符串:“bat”、“bit”、“but”、“hat”、“hit”或者“hut”。

import re
data = 'bat bit but hat hit hut'
patt = '[bh][uia]t'
m = re.findall(patt,data)
print(m)

1-2 匹配由单个空格分隔的任意单词对,也就是姓和名。

import re
data = 'Zhang Lujie'
patt = '[a-zA-Z]+\s[a-zA-Z]+'
m = re.match(patt,data)
print(m.group())

1-3 匹配由单个逗号和单个空白符分隔的任何单词和单个字母,如姓氏的首字母。

import re
data = 'Zhang, Lujie'
patt = '[a-zA-Z]+,\s[a-zA-Z]+'
m = re.match(patt,data)
print(m.group())

1-4 匹配所有有效 Python 标识符的集合。

import re
data = '_2'
patt = '[_A-Za-z]+[_\w]*'
m = re.match(patt, data)
print(m.group())

1-5 根据读者当地的格式,匹配街道地址(使你的正则表达式足够通用,来匹配任意数量的街道单词,包括类型名称)。例如,美国街道地址使用如下格式:1180 Bordeaux Drive。使你的正则表达式足够灵活,以支持多单词的街道名称,如 3120 De la Cruz Boulevard。

import re
data = '3120 De la Cruz Boulevard'
patt = '\d+(\s[a-zA-Z]+)+'
m = re.match(patt, data)
print(m.group())

1-6 匹配以“www”起始且以“.com”结尾的简单Web 域名;例如,http://www.yahoo.com/。 选做题:你的正则表达式也可以支持其他高级域名,如:.edu、.net 等(例如,http://www.foothill.edu )。

import re
data = 'http://www.foothill.edu'
patt = r'http://(www\.(\w+\.)+(com|cn|org|net|cc|edu))'
m = re.match(patt,data)
print(m.group(1))

1-7 匹配所有能够表示 Python 整数的字符串集。

import re
data = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值