Destek temelli normal ifadelerimi C++ 11 regex'e dönüştürüyorum. Ben bir yakalama grubunu url
denilen vardır: boost ileC++ 11 Regex Capture Grupları Adına Göre
\s*?=\s*?(("(?<url>.*?)")|('?<url>.*?)'))
, bir smatch
adıyla yakalama grubu almak için match.str("url")
diyebiliriz olsaydı. std::smatch
ile sadece endeksli alt eşlemeler görüyorum.
std :: smatch sınıfını kullanarak url yakalamasına nasıl erişebilirim?
"(?. *?)' Yerine "(? P . *?)' I denediniz mi? –
HamZa
@HamZa C++ 11 regex'in adlandırılmış yakalama gruplarını destekleyip desteklemediğinden emin değilim. Sadece Stroustrup'un yeni "The C++ Programlama Dili" konusuna adanmış bölümün tamamını okudum ve bundan bahsetmiyor bile. Ve çevrimiçi referansların çoğu aksi belirtilmiyor. –
Bu [yanıt] 'a göre adlandırılmış grupları desteklemiyor gibi görünüyor (http://stackoverflow.com/a/6398650). – HamZa