正则表达式怎么匹配小数点
时间: 2023-11-27 09:47:53 浏览: 134
可以使用以下正则表达式来匹配所有不带负号的数字,包括小数点:
```
^[0-9]+(\.[0-9]+)?$
```
其中,^ 表示匹配字符串的开头,$ 表示匹配字符串的结尾。中间的部分表示匹配数字的部分: [0-9]+ 表示匹配一个或多个数字。(\.[0-9]+)? 表示匹配一个小数点后面跟着一个或多个数字,该部分为可选项。
举个例子,如果要匹配字符串"3.14",可以使用以下代码:
```python
import re
pattern = r'^[0-9]+(\.[0-9]+)?$'
string = '3.14'
match = re.match(pattern, string)
if match:
print('匹配成功')
else:
print('匹配失败')
```
输出结果为:匹配成功
相关问题
正则表达式 匹配小数点后都是0
可以使用以下正则表达式来匹配小数点后都是0的数字:
```regex
^\d+\.\d*0$
```
解释:
- `^` 表示字符串的开头
- `\d+` 表示匹配一个或多个数字
- `\.` 表示匹配小数点
- `\d*` 表示匹配零个或多个数字
- `0` 表示匹配数字0
- `$` 表示字符串的结尾
因此,这个正则表达式匹配的数字必须以一串数字开头,接着是一个小数点,然后是零个或多个数字,最后以数字0结尾。
正则表达式带小数点的正负数
如果您想使用正则表达式来限制QLineEdit只能输入带小数点的正负数,可以使用以下正则表达式:
```
^-?[0-9]+(\.[0-9]+)?$
```
这个正则表达式的含义是:
- `^` 匹配字符串的开头
- `-?` 匹配可选的负号
- `[0-9]+` 匹配至少一个数字
- `(\.[0-9]+)?` 匹配可选的小数部分,其中 `\.` 表示匹配小数点, `[0-9]+` 表示匹配至少一个数字
- `$` 匹配字符串的结尾
您可以在QLineEdit的构造函数中设置这个正则表达式,例如:
```
QRegExp rx("-?[0-9]+(\\.[0-9]+)?");
QValidator* validator = new QRegExpValidator(rx, this);
ui->lineEdit->setValidator(validator);
```
请注意,在正则表达式中, `\` 符号需要转义为 `\\`。因此,`\.` 表示匹配小数点。
阅读全文