Python 正则表达式练习

举报
ruochen 发表于 2021/05/19 12:02:07 2021/05/19
【摘要】 Python 正则表达式练习
import re
# 匹配一行文字中所有开头的字母

s = 'i love you but you don\'t love me'


# \b\w findall
content = re.findall(r'\b\w', s)
print(content)

# 匹配一行文字中所有数字开头的内容
s1 = 'i 12love 2you 78but 980you 43don\'66t 89 love 43me'
content1 = re.findall(r'\b\d', s1)
print(content1)

# 匹配 只含数字和字母的行
s2 = 'i love you \n2222kkkk but \nfefe23 you dont love \n234324dd'
content2 = re.findall(r'\w+', s2, re.M)
print(content2)

# 写一个正则表达式,使其能匹配一下字符 'bit','bat','but','hat','hit','hut'

s3 = "'bit','bat','but','hat','hit','hut'"
content3 = re.findall(r'..t', s3)
print(content3)

# 提取每行中完整的年月日和时间段

s3 = 'se2323 1987-10-10 22:44:55 e4343 2018-10-20 09:47:54'
content4 = re.findall(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}', s3)
print(content4)

# 提取电子邮件格式
s4 = """xxxxx@gmail.com xxxx@qq.com baidu.com 999.com jkjk@163.com"""
content5 = re.findall(r'\w+@\w+.com', s4)
print(content5)

# 把以上合法的电子邮件地址替换成自己的电子邮件地址

content6 = re.sub(r'\w+@\w+.com', 'ruochen@163.com', s4)
print(content6)

# 使用正则提取字符串中的单词
s5 = 'i love you not because who 233 of 890sdx not'
content7 = re.match(r'\b[a-zA-Z]+\b', s5)
# 此代码与以上代码相等
# content7 = re.search(r'\b^[a-zA-Z]+\b', s5)
print(content7.group())
['i', 'l', 'y', 'b', 'y', 'd', 't', 'l', 'm']
['1', '2', '7', '9', '4', '6', '8', '4']
['i', 'love', 'you', '2222kkkk', 'but', 'fefe23', 'you', 'dont', 'love', '234324dd']
['bit', 'bat', 'but', 'hat', 'hit', 'hut']
['1987-10-10 22:44:55', '2018-10-20 09:47:54']
['xxxxx@gmail.com', 'xxxx@qq.com', 'jkjk@163.com']
ruochen@163.com ruochen@163.com baidu.com 999.com ruochen@163.com
i
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。