13
Nếu tôi có mẫu regex đơn giản như "ab". và tôi có một chuỗi có nhiều kết quả khớp như "abc abd". Nếu tôi làm như sau ...Boost C++ regex - cách nhận nhiều kết quả phù hợp
boost::match_flag_type flags = boost::match_default;
boost::cmatch mcMatch;
boost::regex_search("abc abd", mcMatch, "ab.", flags)
Sau đó, mcMatch chỉ chứa kết quả "abc" đầu tiên. Làm thế nào tôi có thể nhận được tất cả các trận đấu có thể?
Cảm ơn bạn đã trả lời nhanh chóng. Câu hỏi, những gì * lặp lại, nó không xuất hiện được một tăng :: cmatch trong thử nghiệm nhanh chóng của tôi? Tôi vừa đưa ra một ví dụ rất đơn giản. Trong regex của tôi tôi có thể có các nhóm, vì vậy tôi cần truy cập vào thông tin nhóm cho mỗi trận đấu (như là có sẵn từ cmatch)? – Ron
Bạn có thể thử regex_iterator thay vào đó, nó trả về một match_result khi dereferenced, và nên cung cấp cho bạn những gì bạn đang tìm kiếm? – Jacob