python 使用RE正则表达式提取某个字符串中的特定字符

python 正则表达式提取某个字符串中的特定字符

实例

需要提取的字符串,如:

"['{0: 203, 11: 1627438682 [2021-07-28 10:18:02],  12:36 [通过蓝牙更改错误密码锁定计数], 13: 770449129, 19: 3, 20: 0, 100: 2141634486}']"

需要实现的功能

判断13:后面的数字长度是否满足指定位数

代码实现

#正则表达式提取列表字符串
def re_get_results(inputStr, re_str='13: \d{9}'):
    '''
    输入字符串,通过正则进行提取
    
    :param inputStr: str,需要提取的字符串,如:"['{0: 203, 11: 1627438682 [2021-07-28 10:18:02],  12:36 [通过蓝牙更改错误密码锁定计数], 13: 770449129, 19: 3, 20: 0, 100: 2141634486}']"
    :param re_str: str,正则表达式,如:'13: \d{9},',或者 '13: (\d{9}),' 备注:()中表示需要提取的目标数据
    :return: 返回列表类型的数据
    '''
    import re
    try:
        # inputStr = "['{0: 203, 11: 1627438682 [2021-07-28 10:18:02],  12:36 [通过蓝牙更改错误密码锁定计数], 13: 770449129, 19: 3, 20: 0, 100: 2141634486}']"
    
        reg = re.compile(re_str, re.S)  # 增加匹配效率的 S 多行匹配
        Lists = re.findall(reg, str(inputStr))
    
        print('Lists={}'.format(Lists))
        if len(Lists) >= 0:
            return Lists
        else:
            Lists=['']
            return Lists
    except BaseException as e:
        print('正则提取失败,失败信息:{}'.format(e))

调用方法

if __name__ == '__main__':
    re_get_results("['{0: 203, 11: 1632633325 [2021-09-26 13:15:25],  12:13 [蓝牙设置时间], 13: 2018671584, 16: 1627437600, 100: 280977561}']",'13: \d{9}')

测试结果

Lists=['13: 201867158']


今日美图

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

《代码爱好者》

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值