Есть ли способ получить эквивалент C ++ для Perl PREMATCH ($ `) и POSTMATCH ($ ') из pcrecpp? Я был бы счастлив со строкой, символом * или парами индексов / startpos + length, которые указывают на это.
Похоже, что StringPiece может выполнить часть этого, но я не уверен, как его получить.
в perl:
$_ = "Hello world";
if (/lo\s/) {
$pre = $`; #should be "Hel"
$post = $'; #should be "world"
}
в C ++ я хотел бы что-то вроде:
string mystr = "Hello world"; //do I need to map this in a StringPiece?
if (pcrecpp::RE("lo\s").PartialMatch(mystr)) { //should I use Consume or FindAndConsume?
//What should I do here to get pre+post matches???
}
pcre plainjane c, похоже, имеет возможность возвращать вектор со совпадениями, включая «конечную» часть строки, поэтому я теоретически мог бы извлечь такую переменную pre / post, но это кажется большой работой. Мне нравится простота интерфейса pcrecpp.
Предложения? Спасибо!
- Eric