re.findall多个文字

时间:2014-02-14 01:28:39

标签: python regex python-2.7

我正在使用此代码返回名为myString的字符串中的所有数字。

re.findall(r'\d+', myString)

有时候,当一个短划线(' - ')代替一个或多个数字时,我会遇到问题。如果它存在的话,我想将数字和数字一起返回。

我的问题是如何更改代码,以便沿着字符串中的数字返回此“ - ”字符。

2 个答案:

答案 0 :(得分:1)

包括\d\-的字符类

re.findall(r'[\d\-]+', myString)

Regular expression visualization

Debuggex Demo

答案 1 :(得分:0)

sample = "1a d g23 -49xy d-d j-4 29"
re.findall(r"\d+|-\d*", sample)

返回

['1', '23', '-49', '-', '-4', '29']