Tôi đang chuyển đổi các biểu thức chính quy dựa trên boost của tôi thành regex C++ 11. Tôi có một nhóm chụp gọi url
:C++ 11 Regex Capture Groups theo tên
\s*?=\s*?(("(?<url>.*?)")|('?<url>.*?)'))
Với tăng, nếu bạn đã có một smatch
bạn có thể gọi match.str("url")
để có được những nhóm chụp theo tên. Với std::smatch
, tôi chỉ thấy các kết quả phù hợp được lập chỉ mục.
Tôi làm cách nào để có quyền truy cập vào việc chụp url bằng cách sử dụng lớp std :: smatch?
Bạn đã thử '(? P. *?)' Thay vì '(? . *?)'? –
HamZa
@HamZa Tôi không chắc liệu C++ 11 regex có hỗ trợ các nhóm chụp được đặt tên hay không. Tôi chỉ đọc toàn bộ chương dành riêng cho chủ đề trong "Ngôn ngữ lập trình C++" của Stroustrup và thậm chí nó không đề cập đến nó. Và nhiều tài liệu tham khảo trực tuyến dường như không chỉ ra khác. –
Dường như nó không hỗ trợ các nhóm được đặt tên theo [answer] này (http://stackoverflow.com/a/6398650). – HamZa