2

我正在为 QLineEdit 编写正则表达式检查器,并且正在使用 QRegExp。

我已经写了一个 int 值检查器:

QRegExp *expression_ = new QRegExp("^(0|[1-9]{1,1}[0-9]{0,9});

但是我对双值有疑问,更具体地说,我无法区分这个数字的大小写。FE 0.210 或 0.001。

请帮助我为双值实现此功能。提前致谢。

4

5 回答 5

8

这就是我用作正/负浮点值的正则表达式字符串

[+-]?\\d*\\.?\\d+
于 2014-03-31T13:59:57.823 回答
6

看起来你正在尝试重新发明轮子。见:QDoubleValidator, QIntValidator.

于 2014-03-31T16:33:17.317 回答
0

试试这个正则表达式的十进制数:

^(?:0|[1-9][0-9]*)\.[0-9]+$

此处忽略使用?:组捕获。

尝试在线演示

于 2014-03-31T13:52:51.717 回答
0

我有同样的问题,下面的表达有助于解决我的任务,试试吧: \\d*\.\\d*

它也有助于获得像“ 0. ”这样的数字(没有小数部分)。

于 2020-05-22T14:05:47.627 回答
-2

为了管理指数数据:

^-?(?:0|[1-9][0-9]*)\.?[0-9]+([e|E][+-]?[0-9]+)?$
于 2017-06-14T15:01:52.100 回答