用正则表达式判断输入的是不是整数或小数
时间: 2023-09-08 20:15:05 浏览: 43
可以使用以下正则表达式来判断输入的是不是整数或小数:
```regex
^-?\d+(\.\d+)?$
```
解释:
- `^`:匹配字符串的起始位置。
- `-?`:可选的负号。
- `\d+`:匹配一位或多位数字。
- `(\.\d+)?`:可选的小数点和一位或多位数字。
- `$`:匹配字符串的结束位置。
这个正则表达式可以匹配包括负数在内的所有整数和小数。如果匹配成功,则输入是整数或小数,否则不是。
相关问题
用正则表达式判断输入的是不是正整数或小数
可以使用以下正则表达式来判断输入的是不是正整数或小数:
```regex
^\d+(\.\d+)?$
```
解释:
- `^`:匹配字符串的起始位置。
- `\d+`:匹配一位或多位数字。
- `(\.\d+)?`:可选的小数点和一位或多位数字。
- `$`:匹配字符串的结束位置。
这个正则表达式可以匹配包括正整数和正小数在内的所有正数。如果匹配成功,则输入是正整数或小数,否则不是。
用正则表达式判断是小数或者整数
可以使用如下正则表达式:
```
^-?\d+(\.\d+)?$
```
该正则表达式的含义如下:
- `^` 表示开头
- `-?` 表示负号可有可无
- `\d+` 表示至少一个数字
- `(\.\d+)?` 表示小数部分,其中 `\.` 表示小数点,`\d+` 表示至少一个数字,`?` 表示该部分可有可无
- `$` 表示结尾
该正则表达式可以匹配如下字符串:
- `123`:整数
- `-456`:负整数
- `0.789`:小数
- `-0.123`:负小数
- `1.`:整数加小数点
- `-2.`:负整数加小数点
可以使用 Python 的 re 模块进行测试,示例代码如下:
```python
import re
pattern = r'^-?\d+(\.\d+)?$'
# 匹配整数
print(re.match(pattern, '123')) # <re.Match object; span=(0, 3), match='123'>
print(re.match(pattern, '-456')) # <re.Match object; span=(0, 4), match='-456'>
print(re.match(pattern, '0')) # <re.Match object; span=(0, 1), match='0'>
print(re.match(pattern, '+789')) # None
print(re.match(pattern, '1.')) # <re.Match object; span=(0, 2), match='1.'>
# 匹配小数
print(re.match(pattern, '0.789')) # <re.Match object; span=(0, 5), match='0.789'>
print(re.match(pattern, '-0.123')) # <re.Match object; span=(0, 6), match='-0.123'>
print(re.match(pattern, '1.23E-4')) # None
print(re.match(pattern, '3.1415926')) # <re.Match object; span=(0, 9), match='3.1415926'>
print(re.match(pattern, '2.')) # <re.Match object; span=(0, 2), match='2.'>
```