什么是所有数字的正则表达式,仅限特殊字符+或 -

时间:2016-12-09 21:51:29

标签: python regex

它应该允许: 4- 3+ -2 1

不应该允许: 4-- 3 + - 3% 3%

执行以下操作:^([-+]?(?:\d+))$但它没有正确检查。

3 个答案:

答案 0 :(得分:3)

这是一个有效的正则表达式:^[+-]?\d[+-]?$。这将匹配任一方的一个或多个数字加号或减号。

如果您想匹配小数点的数字,这个数字将起作用:"^[\+-]?\d+(\.\d+)?[\+-]?$

编辑*您不需要在字符类中使用转义字符。为了保留我之前答案中的信息,+的转义字符为\+,而python正则表达式文档的链接为here

答案 1 :(得分:2)

如果您不想单独匹配数字,可以使用此正则表达式:

^\d[\+|\-]$|^[\+|\-]\d$

您可以在此处查看link

答案 2 :(得分:0)

如果你想要匹配的不是所有单个数字及其符号,而是包含它们的整行,那么这个正则表达式将完成这项工作:

^([-+]?\d[-+]? ?)+

在这里你可以玩它:https://regex101.com/r/2npw8e/2

如果你只想匹配每个数字,这个正则表达式将会这样做:

^[-+]?\d[-+]?$

您可能需要在正则表达式中删除^$以匹配不仅从行的开头到结尾的数字,具体取决于您的实际数据的样子。