请帮助我处理正则表达式本身。我正在学习它。我不需要替换代码。
我正在使用 VS2008 (C++) 开发 wxWidget 2.8.12。我想检查 TEST_STRING 是否是浮点数。(-0.1
、0.1
等1
)。我认为表达式本身是正确的,我通过工具检查过。我对 wxWidget 有误吗?
wxString tmpStr = TEST_STRING;
wxRegEx reNegativeFloatNum(_("^[-]?[0-9]*\\.?[0-9]+$"));
bool tmp = reNegativeFloatNum.Compile(tmpStr);
tmp = tmp && reNegativeFloatNum.IsValid();
if ( tmp && reNegativeFloatNum.Matches(tmpStr))
{
//Do something
}
else
{
//Do something else
}
我真正的问题是为什么正则表达式不起作用?如果我输入“a”-“Z”,则 Matches() 返回“真”。有谁知道吗?我只是想学习正则表达式。