做C++某个项目的时候,用到了正则表达式,当我想表达全是数字的时候,我的变量设置是这样的:
regex reg("^[1-9][0-9] * $");
判断时总是不能通过。
后面机缘巧合下把符号间空格给去掉了,就得到了我想要的结果:
regex reg("^[1-9][0-9]*$");
以此提醒自己,正则表达式空格也会编译,不能随便加入空格。
空格可以用 \s 表示
另外,查找这个错误时,我得到了大多数的语言平台都没有将 '\' 作为转义字符。需要写成 ’ \\s ‘ 来将 '\' 转义