Portál AbcLinuxu, 8. května 2025 18:07
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.