只读字符串中的数字

CIs*_*ies -1 python regex string

我看到的Q&A像这个这个,但我仍然有一个问题.

我想要的是获取一个可能包含非数字字符的字符串,我想只从该字符串中提取2个数字.所以,如果我12 ds d21a想要提取我的字符串['12', '21'].

我试过用:

import re
non_decimal = re.compile(r'[^\d.]+')
non_decimal.sub("",input())
Run Code Online (Sandbox Code Playgroud)

并喂了这个字符串12 123124kjsv dsaf31rn.结果12123124很好,但我想要非数字字符来分隔数字.

接下来我试着添加split- non_decimal.sub("",input().split()).没有帮助.

我该怎么做(假设有一种方法不包括扫描整个字符串,迭代它并"手动"提取数字)?

为了更清楚,是我想要实现的,在C中.

Viv*_*gan 6

你想re.findall()在这种情况下使用方法 -

input_ = '12 123124kjsv dsaf31rn' 
non_decimal = re.findall(r'[\d.]+', input_)
Run Code Online (Sandbox Code Playgroud)

输出 -

['12', '123124', '31']
Run Code Online (Sandbox Code Playgroud)