[英]Boost::regex_match isn't firing
我有一些Boost Regex代碼,我認為應該觸發。 我是新手,但我對Regex有所了解。 這是我正在使用的代碼。
re = boost::basic_regex<TCHAR>(_T("-+\\s+Original\\s+Message\\s+-+"), boost::regex_constants::icase);
boost::match_results<TSTRING::const_iterator> result;
if(boost::regex_match(RawBody, result, re))
這是我正在使用的測試字符串。
this is a test
-------- Original Message --------
everything under here should disappear
我的代碼可以編譯並運行,只是不會觸發if語句。 我嘗試調試升壓代碼,然后...是的...
regex_match
regex_match算法確定給定的正則表達式是否與一對雙向迭代器表示的所有給定字符序列匹配 ,算法定義如下,該函數的主要用途是數據輸入驗證。
regex_search
算法regex_search 將搜索由一對雙向迭代器表示的范圍,以獲取給定的正則表達式。 該算法使用各種試探法,通過僅檢查匹配是否可以在該位置開始進行搜索來減少搜索時間。 該算法定義如下:
因此,請使用boost::regex_search
。 例。
http://liveworkspace.org/code/fa35778995c4bd1e191c785671ab94b6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.