Python:如何通过定义异常来使用re?

时间:2018-02-08 06:50:48

标签: python regex

这是一个非常新手的问题。我自己尝试了很多,但没有成功。

我想使用re从字符串中查找数字,但减号除外:

>>> a1 = "25 mm"
>>> b1 = "-25 mm"
>>> c1 = "s-25"
>>> d1 = "s25-"

a = re.sub(r'\D', "", a1)提供了"25",这很好。

我想问一下,如何使用re b1 c1 来获取"-25",以及如何使用 d1 得到"25",因为减号位于数字后面。

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

在这里你可以尝试这个:

import re
s = re.compile(r"[+-]?\d+(?:\.\d+)?")
a1 = "25 mm"
b1 = "-25 mm"
c1 = "s-25"
d1 = "s25-"
print(s.search(d1).group(0))
print(s.search(b1).group(0))
print(s.search(c1).group(0))
print(s.search(a1).group(0))

它给出了这样的o / p:

25 #d1
-25 #b1
-25 #c1
25 #a1