它应该允许: 4- 3+ -2 1
不应该允许: 4-- 3 + - 3% 3%
执行以下操作:^([-+]?(?:\d+))$
但它没有正确检查。
答案 0 :(得分:3)
这是一个有效的正则表达式:^[+-]?\d[+-]?$
。这将匹配任一方的一个或多个数字加号或减号。
如果您想匹配小数点的数字,这个数字将起作用:"^[\+-]?\d+(\.\d+)?[\+-]?$
编辑*您不需要在字符类中使用转义字符。为了保留我之前答案中的信息,+
的转义字符为\+
,而python正则表达式文档的链接为here。
答案 1 :(得分:2)
如果您不想单独匹配数字,可以使用此正则表达式:
^\d[\+|\-]$|^[\+|\-]\d$
您可以在此处查看link
答案 2 :(得分:0)
如果你想要匹配的不是所有单个数字及其符号,而是包含它们的整行,那么这个正则表达式将完成这项工作:
^([-+]?\d[-+]? ?)+
在这里你可以玩它:https://regex101.com/r/2npw8e/2
如果你只想匹配每个数字,这个正则表达式将会这样做:
^[-+]?\d[-+]?$
您可能需要在正则表达式中删除^
和$
以匹配不仅从行的开头到结尾的数字,具体取决于您的实际数据的样子。