0
我剛剛開始使用boost和C++,並且我努力理解boost的正則表達式引擎在匹配空白時的行爲。如果我使用代碼:Boost正則表達式不匹配「\ s」到空格
boost::regex rx(" ");
cout << regex_search(" ", rx);
匹配空格,然後一切按預期工作,regex_search返回true。不過,如果我嘗試用「\ s」更換正則表達式匹配所有空格字符,我從來沒有一場比賽,而下面的代碼總是輸出錯誤:
boost::regex rx("\\s");
cout << regex_search(" ", rx);
缺少什麼我在這裏?
按照要求,這裏是我完整的測試案例:
#include <boost/regex.hpp>
#include <iostream>
using namespace std;
int main()
{
boost::regex rx("\\s", boost::regex::icase);
cout << regex_search(" ", rx);
}
你錯過了實際的代碼。編寫一個簡短的程序,編譯,運行並說明問題。 –
此代碼適用於我。 – BatchyX
嗯...我不知道這是我的增強版本的問題,然後(在Windows 7 32位上使用MinGW)。至少你已經證實我對正則表達式的理解沒有任何問題,並且代碼應該工作正常! – ndawson