热线电话:13121318867

登录
2019-01-18 阅读量: 740
我想在这些字符串之间得到数字
strings = ["point_right: account ISLAMIC: 860328 9221 asdsad",
"account 723123123",
"account823123213",
"account 823.123.213",
"account 823-123-213",
"account:123213123 ",
"account: 123213123 asdasdsad 017-299906",
"account: 123213123",
"point_right: account ISLAMIC: 860328 9221"
]

结果将是

[860328 9221,723123123, 823123213, 823.123.213, 823-123-213, 123213123, 123213123, 123213123]

我可以稍后处理,使它们成为数字。到目前为止,我的策略是在模式之后获取所有内容以及在信件之前的任 我试过了:

for string in strings:
print(re.findall("(?<=account)(.*)", string.lower()))

试试这种模式:

(?=[^0-9]*)[0-9][0-9 .-]*[0-9]

分解:

  • (?=[^0-9]*) 前瞻一个词,如“帐户”,不匹配
  • [0-9] 找一个数字
  • [0-9 .-]* 找到任意数量的数字或特殊字符(在你的字符串中你有空格,短划线,句号,所以我包括那些)
  • [0-9] 找另一个数字(以防止结尾处的空格)
109.0909
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子