我正在编写一个简单的脚本来匹配浮点文字,只应匹配+123.23
,-123.23
或123.23
等,所以我不匹配那些{{1}形式。所以我的表达式很简单:-1.0e-10
可以选择性地捕获符号,数字,点和分数。我的C验证看起来像:
[+-]?([0-9]*[.])?[0-9]+
但是,reti的值为1,这意味着我在测试字符串“-87.21”上的正则表达式失败了。我在regexr.com上测试了我的正则表达式,它匹配“-87.21”,所以我真的不知道这里发生了什么。有人可以帮忙吗?
答案 0 :(得分:3)
您需要在调用REG_EXTENDED
时添加regcomp
标记,或者使您的正则表达式与POSIX BRE(基本正则表达式,sed
和{{使用的旧语法)兼容1}}没有grep
)。 BRE是默认值,可能不是您想要的。