使用QRegExp对double值的正则表达式

时间:2014-03-31 12:57:11

标签: regex qt qregexp

我正在为QLineEdit写一个正则表达式检查器,我正在使用QRegExp。

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

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

但是我有双重值的并发症,更具体一点,我不能分开这个数字的情况。 F.E 0.210或0.001。

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

5 个答案:

答案 0 :(得分:7)

这就是我用作正/负浮点值的RegEx字符串

[+-]?\\d*\\.?\\d+

答案 1 :(得分:6)

看起来你正试图重新发明轮子。请参阅:QDoubleValidatorQIntValidator

答案 2 :(得分:2)

尝试使用此十进制数的正则表达式:

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

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

尝试online demo

答案 3 :(得分:0)

我遇到了同样的问题,下面的表达式有助于解决我的任务,请尝试一下: \\d*\.\\d*

它也有助于获得“ 0。”之类的数字(不包括小数部分)。

答案 4 :(得分:-1)

为了管理指数数据:

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