我正在为 QLineEdit 编写正则表达式检查器,并且正在使用 QRegExp。
我已经写了一个 int 值检查器:
QRegExp *expression_ = new QRegExp("^(0|[1-9]{1,1}[0-9]{0,9});
但是我对双值有疑问,更具体地说,我无法区分这个数字的大小写。FE 0.210 或 0.001。
请帮助我为双值实现此功能。提前致谢。
这就是我用作正/负浮点值的正则表达式字符串
[+-]?\\d*\\.?\\d+
看起来你正在尝试重新发明轮子。见:QDoubleValidator
, QIntValidator
.
我有同样的问题,下面的表达有助于解决我的任务,试试吧:
\\d*\.\\d*
它也有助于获得像“ 0. ”这样的数字(没有小数部分)。
为了管理指数数据:
^-?(?:0|[1-9][0-9]*)\.?[0-9]+([e|E][+-]?[0-9]+)?$