不应该允许:
1
2+
-3
4-
+5
它应该允许除此之外的任何东西:1%,^ 1等它应该允许。我试图这样做:
^[%!@#$^&*()]\d[%!@#$^&*()]$
但是在两者之间迷茫。我该怎么做?
更新: ^(?:\d[^-+]|[^-+]\d)$
是我需要的。
答案 0 :(得分:1)
如果您只想接受非数字使用^\D+$
答案 1 :(得分:1)
您可以使用
^(?:\d[^-+]|[^-+]\d)$
它会匹配2个字符串的1个数字,而另一个符号不能是-
或+
。
<强>模式强>:
^
- 字符串开头(?:\d[^-+]|[^-+]\d)
- 要么
\d[^-+]
- 除-
和+
|
- 或[^-+]\d
- -
和+
以外的任何字符或数字$
- 字符串结尾请参阅regex demo
答案 2 :(得分:0)
试试这个:
""" test with 1, 2+, -3, 4-, +5"""
a = "1-"
b = re.search("^\D+$",a)
if b:
print b.group(0)