python正则表达式练习题

1. 写一个正则表达式,使其能同时识别下面所有的字符串:'bat','bit', 'but', 'hat', 'hit', 'hut'

bt = 'bat|bit|but|hat|hit|hut'

m = re.search(bt, 'bhut')

s = "bat, bit, but, hat, hit, hut"
print (re.findall(r'[bh][aiu]t', s))

 

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

bt = '[a-zA-Z]+ [a-zA-Z]+'

m = re.match(bt, "Jane Smith")

 

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

s = "yu, Guan bei, Liu fei, Zhang"

m = re.findall(r'([A-Za-z]+),\s([A-Za-z])', s)

 

4.匹配所有的有效的Python标识符集合

s = "__hello, python_1, 2world, pra_ni, @dfa_,ewq* "

print(re.findall(r"\b[a-zA-Z_][\w]*(?!=W)", s))

 

5. 根据美国街道地址格式,匹配街道地址。美国接到地址使用如下格式:1180 Bordeaux Drive。使你的正则表达式足够灵活,以支持多单词的街道名称,如3120 De la Cruz Boulevard

s = "1180 Bordeaux Drive"

m = re.search(r'\d+( +[a-zA-Z]+)+', s)

 

6. 匹配以“www”起始且以“.com”结尾的简单Web域名:例如,http://www.yahoo.com ,也支持其他域名,如.edu .net等

m = re.search(r'w{3}\.[a-zA-Z]+\.(com|edu|net)',s)

 

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

 

转载于:https://www.cnblogs.com/tangxinghe/p/11199782.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值