線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1277
推到 Plurk!
推到 Facebook!

test請問如何找到boost::regex 的所有match和submatch?

尚未結案
holyguard
一般會員


發表:4
回覆:3
積分:1
註冊:2008-12-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-02-23 03:11:35 IP:122.117.xxx.xxx 訂閱
[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天了,如蒙回答 不勝感激
系統時間:2024-04-20 13:05:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!