test請問如何找到boost::regex 的所有match和submatch? |
尚未結案
|
holyguard
一般會員 發表:4 回覆:3 積分:1 註冊:2008-12-09 發送簡訊給我 |
[code cpp]
std::string mystring = "(\\d\\d)(\\w\\w)"; boost::regex e(mystring); std::string mystring2 = "11ww 22tt 66dd"; boost::smatch match; if(boost::regex_search(mystring2, match, e)) { Memo1->Lines->Add(match.size()); Memo1->Lines->Add(match.length()); for(unsigned int i=0; i Memo1->Lines->Add(match[i].str().c_str()); } } [/code] 得到match.size()=3,match.length()=4, match的結果為11ww 11 ww共三個 我的問題是:照理來講應該要能夠成功找到11ww 22tt 66dd三個match,各有兩個submatch: 11 ww, 22 tt, 66 dd 請問一下我程式要怎麼寫才能將所有的match和submatch找到呢?()括號裏面的東西,除了叫submatch,也有人稱為capture groups 目前上網找,只有找到vc#2008的範例,用的match.[i].Groups.[j].Value,跑完i和j的for loop,就能將所有match的結果列出來,因為 vc#2008將submatch放在Groups集合裏面。還沒找到c 的範例一次可以找出多個match和submatch的 這問題卡了我10天了,如蒙回答 不勝感激 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |