正则表达式从虚线数字seris获得第一个数字

时间:2016-12-09 12:23:20

标签: python regex

我的输入是这些点缀数字

1.10.12.111
x22.34.11.827.11234
>345.123.11.23885.101010

所以,我的输入模式只是

any alphanumeric value . any number . any number . .... ...... ....

我希望在第一个点之前得到第一个值。我试过这种方式

import re
number = '>345.123.11.23885.101010'
pat = re.compile(r'(\d*)\..+')
match = re.search(pat,number)
print match.group(1) // 23885 as result

2 个答案:

答案 0 :(得分:1)

使用行分隔符。

import re
number = '>345.123.11.23885.101010'
pat = re.compile(r'^\D*(\d+)')
match = re.search(pat,number)
print match.group(1) 
  • ^ 表示行开始
  • \ D * 不是数字0+次

答案 1 :(得分:0)

number = '>345.123.11.23885.101010'
l = number.split('.',1)[0][-1]

出:

'5'

首先我们将str除以'。',得到第一部分,而不是得到第一个最后一个数字