Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[regex/boost] Pomoc w zrozumieniu artykułu

Ostatnio zmodyfikowano 2012-05-15 21:19
Autor Wiadomość
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 regularne
Grupowanie
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.
P-56706
malan
» 2012-05-15 02:09:43
1. RegExr (tester wyrażeń regularnych ONLINE),
2. w pierwszym polu (pod Match i Replace) wpisujesz
(FW:|Re:)
,
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 :)
P-56728
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
P-56733
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.
P-56758
« 1 »
  Strona 1 z 1