做C++某個項目的時候,用到了正則表達式,當我想表達全是數字的時候,我的變量設置是這樣的:
regex reg("^[1-9][0-9] * $");
判斷時總是不能通過。
后面機緣巧合下把符號間空格給去掉了,就得到了我想要的結果:
regex reg("^[1-9][0-9]*$");
以此提醒自己,正則表達式空格也會編譯,不能隨便加入空格。
空格可以用 \s 表示
另外,查找這個錯誤時,我得到了大多數的語言平台都沒有將 '\' 作為轉義字符。需要寫成 ’ \\s ‘ 來將 '\' 轉義