开发者社区> 问答> 正文

Python 正则如何从变量中提取特定数字

我有以下问题:

var a = ' 15159970 (30.12.2015), 15615115 (01.01.1970), 11224455, 55441123

我想要一个正则表达式仅提取数字:15159970、15615115、11224455、55441123

到目前为止:


re.findall(r'(\d+\s)\(', a)

仅提取前两个数字:15159970、15615115

展开
收起
安忆333 2019-11-26 15:14:50 574 0
1 条回答
写回答
取消 提交回答
  • 你可以提取所有数字,并判断数字前面有点没有点的情况,或者有数字没有数字的情况进行匹配

    (?<!\d)(?<!\d\.)\d+(?!\.?\d)
    
    import re
    a = ' 15159970 (30.12.2015), 15615115 (01.01.1970), 11224455, 55441123 '
    print( re.findall(r'(?<!\d)(?<!\d\.)\d+(?!\.?\d)', a) )
    # => ['15159970', '15615115', '11224455', '55441123']
    
    2019-11-26 15:19:15
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载