Python每日练习之正则表达式(day~12‘)

正则表达式:匹配手机号

import re

def main():
    """
    (?=exp): 匹配exp前面的位置
    (?<=exp): 批准exp后面的位置
    \D 匹配非数字
    """
    patten = re.compile(r'(?<=\D)1[34578]\d{9}(?=\D)')
    sentence = '''
    重要的事情说98321838624遍,我的手机号是15721319091这个靓号,
    不是15600998765,也是110或119,郭小二的手机号才是15600998765。
    '''
    # 查找所有匹配字符串并保存到一个列表中
    mylist = re.findall(patten,sentence)
    print(mylist)
    print('------------------')
    # 通过迭代器方式取出匹配对象: finditer() 查找字符串所有与正则表达式匹配的模式 返回一个迭代器
    for temp in patten.finditer(sentence):
        print(temp.group())
    print('-------------------')
    # 通过search函数搜索位置找出所有匹配
    m = patten.search(sentence)

    while m:
        print(m.group())
        m = patten.search(sentence,m.end())

if __name__ == '__main__':
    main()

替换字符串中的不良内容

import re
def main():
    sentence = '你TM是傻逼吗?我草你麻痹的.Fuck You.'
    """"
    sub(pattern, repl, string, count=0, flags=0)用指定的字符串替换原字符串中与正则表达式匹配的模式 可以用count指定替换的次数
    pattern:表示正则中的模式字符串
    repl:替换字符串,如想把原本的字符串替换成空格,这里就写空格
    string:想要进行替换的字符串文本
    count:替换次数,可选参数,默认为0,表示替换所有的匹配
    flags:可选参数,用于控制正则表达式的匹配方式,如:是否区分大小写
    """
    filter = re.sub('[草操肏艹]|fuck|shit|TM|傻[比屄逼叉缺吊屌]|煞笔|麻痹','哈哈',sentence,flags=re.IGNORECASE)
    print(filter)

if __name__ == '__main__':
    main()

长字符串拆分

import re

def main():
    poem = '落霞与孤鹜齐飞,秋水共长天一色。渔舟唱晚,响穷彭蠡之滨;雁阵惊寒,声断衡阳之浦。'
    sentence_list = re.split(r'[,.,.]',poem)
    print(poem)
    print(sentence_list)

if __name__ == '__main__':
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值