正则表达式匹配数字和算术运算符

时间:2012-10-11 18:47:49

标签: python regex

我正在寻找一个正则表达式,它匹配1到n次出现的数字,只出现一次算术运算符(只允许+或 - )

例如,它应匹配-123或123-或+123或123 +

这是我到目前为止所拥有的

import re

number = "-123" 

if re.findall(r"[0-9]+[+|-]?", number): 
    return True
else:
    return False

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

In [55]: strs
Out[55]: '+123 abc 123 -123 123- 123+ 14 foo bar'

   #you need to escape '+'and '-' In order to search them   

In [56]: re.findall(r"\d+[\+|\-]{1}|[\-|\+]{1}\d+",strs)
Out[56]: ['+123', '-123', '123-', '123+']