Portál AbcLinuxu, 26. dubna 2024 14:03


Dotaz: C++ a pcrecpp

8.10.2009 18:01 xfree88
C++ a pcrecpp
Přečteno: 132×
Odpovědět | Admin

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?"

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.10.2009 19:13 vbar
Rozbalit Rozbalit vše Re: C++ a pcrecpp
Odpovědět | | Sbalit | Link | Blokovat | Admin

Místo set_multiline (případně navíc k němu, podle požadavků) IMHO patří set_dotall.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.