Есть ли способ получить C++-эквивалент Perl PREMATCH ($`) и POSTMATCH ($') из pcrecpp? Я был бы доволен строкой, char * или парами index/startpos+length, которые указывают на это.
Кажется, что StringPiece может выполнить часть этого, но я не уверен, как его получить.
в перле:
$_ = "Hello world";
if (/lo\s/) {
$pre = $`; #should be "Hel"
$post = $'; #should be "world"
}
в С++ у меня было бы что-то вроде:
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.
Предложения? Спасибо!
--Эрик