简体   繁体   English

使用正则表达式从字符串中提取数字

[英]extract number from string using regular expression

I need to extract number from string 'iama5559348number'. 我需要从字符串'iama5559348number'中提取数字。 Answer should do non capturing and expected output is 5559348. I am trying by doing this way print(re.search(r'([^(.*)]?[0-9]*)','iama5559348number')) but I am getting only only first letter 答案应该是不捕获并且预期输出是5559348。我正在尝试通过这种方式print(re.search(r'([^(.*)]?[0-9]*)','iama5559348number'))但我只收到第一封信

>>> print(re.search(r'([0-9]+)','iama5559348number').groups()[0])
'5559348'

or 要么

>>> print(re.search(r'(\d+)','iama5559348number').groups()[0])
'5559348'

You can use re.findall that way: 您可以这样使用re.findall

x= re.findall(r'[0-9]+','iama5559348number')[0]
print(x)

or that: 或者那个:

x= re.findall(r'\d+','iama5559348number')[0]
print(x)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM