[regex/boost] Pomoc w zrozumieniu artykułu
Ostatnio zmodyfikowano 2012-05-15 21:19
Admixior Temat założony przez niniejszego użytkownika |
[regex/boost] Pomoc w zrozumieniu artykułu » 2012-05-14 19:21:52 Tak jak w temacie napisałem, nie rozumiem kawałka artykułu o C++11: Wyrażenia regularneGrupowanie Aby utworzyć grupę, należy użyć operatora (), np. "(fre)|(gul)" - "ciąg 'fre' lub ciąg 'gul' " Gdyby usunąć nawiasy znaczyło by to "ciąg 'fr' i litera 'e' lub 'g', po czym jest ciąg 'ul' " Alternatywa Znak | określa alternatywę. Np. "(FW:|Re:)?(.*)" co oznacza "opcjonalny ciąg 'FW' lub 'Re', po którym następuje 0 lub więcej znaków" Ten wzorzec pasuje do: "FW: Siema", "Co u ciebie?", "Re: U mnie wszystko gra", ale nie "Re o co ci chodzi?" |
Dokładnie ten tekst "(FW:|Re:)//..." rozumiem w ten sposób że: opcjonalnie - ciąg "FW" póżniej ':' lub 'R' i potem "e:"(z zachowaniem zasady takiej jak była w poprzednim akapicie "grupowanie"))... Niestety różni się to od tego co jest w artykule ( opcjonalny ciąg 'FW' lub 'Re' |
). Czy wiecie w którym miejscu popełniam błąd? //PS Ten wzorzec pasuje do: "FW: Siema", "Co u ciebie?", "Re: U mnie wszystko gra", ale nie "Re o co ci chodzi?" |
Nad tym wyżej przykładem długo zastanawiałem się dlaczego "Re o co ci chodzi?" nie pasuje do przykładu, jakby był ':' to nie odwracałoby to mojej uwagi od '?' (chwile trwało aż skapłem się że nie chodzi o brak ':' tylko o pytajnik :)) //edit: Heh. Nie otrzymałem odpowiedzi więc chyba zbyt słabo wytłumaczyłem o co chodzi :). Teraz trochę poprawiłem. |
|
malan |
» 2012-05-15 02:09:43 1. RegExr (tester wyrażeń regularnych ONLINE), 2. w pierwszym polu (pod Match i Replace) wpisujesz , 3. w drugim polu wklejasz: "FW: Siema", "Co u ciebie?", "Re: U mnie wszystko gra", ale nie "Re o co ci chodzi?" |
Obszar zaznaczony na niebiesko to ten fragment tekstu, który pasuje do wzorca :) |
|
kubawal |
» 2012-05-15 16:45:13 Jak masz wątpliwości, to trzeba było wziąść program z końca kursu i przetestować ten wzorzec |
|
Admixior Temat założony przez niniejszego użytkownika |
» 2012-05-15 21:19:00 hmm... rzeczywiście ten fragment jest dobry. Ale w takim razie fragment wyżej raczej powinien być źle Gdyby usunąć nawiasy znaczyło by to "ciąg 'fr' i litera 'e' lub 'g', po czym jest ciąg 'ul' " |
1.Poniżej tego akapitu jest fragment (o którym wcześniej mówiłem) który temu zaprzecza. Jest użyte bez nawiasów a działa poprawnie. 2.Sprawdzałem na stronie tej którą podał admin i bez nawiasów działa identycznie. Dla przykładu frgul i freul (tak jak można zrozumieć z tego cytatu) jest zaznaczony kawałek "gul" lub "fre" czyli tak jakby były nawiasy. A nie całe tak jak można wyczytać w artykule. |
|
« 1 » |