双人份的Regexp [英] Regexp for a double

查看:15
本文介绍了双人份的Regexp的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我让此regexp"^[0-9]+.?[0-9]*$")在visual C++中匹配双精度数或整数,但它似乎不起作用。有什么想法吗?

我是这样应用代码的:

if (System::Text::RegularExpressions::Regex::IsMatch(e0, "^[0-9]+.?[0-9]*$")){
     e0_val = System::Convert::ToDouble(e0);
}

推荐答案

正则表达式本身没有问题,错误在于您的转义。您需要对字符进行双重转义,因为它也是C++字符串转义字符。

此外,此正则表达式还会认为1.是有效的浮点指针数。因此,使用/^[0-9]+(\.[0-9]+)?$可能会更好,这样可以消除这种可能性。

这篇关于双人份的Regexp的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆