正则表达式,求一个匹配所有数字,包括带小数点的数字,不能为负数的正则表达式,百度了几个经不起测试
时间: 2023-02-08 18:24:18 浏览: 431
比较常用的几个正则表达式匹配数字(收藏)
5星 · 资源好评率100%
你可以使用如下正则表达式来匹配所有数字,包括带小数点的数字,但不能为负数:
`^[0-9]+(\.[0-9]+)?$`
该正则表达式需要使用"^"开头和"$"结尾,表示字符串的开头和结尾。"(\.[0-9]+)?"表示可以匹配带小数点的数字,但不是必需的。如果你想要匹配带正负号的数字,可以将"^"替换为"(-?)",表示可以匹配负号,但不是必需的。
例如,你可以使用如下代码在 Python 中测试这个正则表达式:
```
import re
pattern = r"^[0-9]+(\.[0-9]+)?$"
test_cases = [
"123",
"123.456",
"0.123",
".123",
"123.",
"-123",
"abc",
]
for test_case in test_cases:
result = re.fullmatch(pattern, test_case)
print(f"{test_case}: {result is not None}")
```
这段代码将会输出:
```
123: True
123.456: True
0.123: True
.123: False
123.: False
-123: False
abc: False
```
阅读全文