Portál AbcLinuxu, 1. prosince 2025 23:47
Dobry den,
usek kodu:
using namespace std;
using namespace pcrecpp;
int main(int argc, char** argv)
{
string pattern = ".*ovoce.*";
string text = "as\r\rovocedas\r";
if (RE(pattern, RE_Options().set_caseless(true).set_multiline(true)).FullMatch(text) == 0)
cout << "no match" << endl;
else
cout << "match!!!" << endl;
return (EXIT_SUCCESS);
}
Vypise match, zde neni co resit. Pokud vsak do retezce text umistim na jakoukoliv pozici '\n', vypise "no match" - tomu uz nerozumin, schvalne proto jsem pouzil set_multiline(true). Jak tedy v takovem regexpu vyjadrim "jakykoliv znak vcetne znaku noveho radku?"
Místo set_multiline (případně navíc k němu, podle požadavků) IMHO patří set_dotall.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.