Jak wstawić kropkę do wyrażenia regularnego?

Jak wstawić kropkę do wyrażenia regularnego?
aaquillus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 185
0

Witam

Jak się do cholery wstawia kropkę do wyrażeń regularnych w C#? Zrobiłem coś takiego:

Kopiuj
Regex aa = new Regex("^((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))$");

            while (true)
            {
                string dd = Console.ReadLine();

                if (aa.IsMatch(dd))
                {
                    Console.WriteLine("Pasuje");
                }
                else
                {
                    Console.WriteLine("Nie pasuje: Jeszcze raz");
                    continue;
                }

Wszystko działa ok, ale jeżeli wstawię kropkę albo nawet ze /, to mi już nie działa tak jak powinno.
Jeżeli zrobię "^((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1])).$");, to wtedy akceptuje mi 011, a jeżeli robię ., to wywala mi błąd i kompilator nie idzie dalej.
Moim zamiarem jest zrobienie wyrażenie, które akceptuje dwie cyfry jako dzień miesiąca, czyli o 01 do 31. Ogólnie, chciałem dalej zrobić z tego wyrażenie akceptujące datę xx.yy.zzzz, ale coś mi tu nie wychodzi. Jak to zrobić? Bo zaciąłem się na tej kropce...

dodanie znacznika <code class="csharp"> - Furious Programming

freemp3
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Miechów
  • Postów: 284
1

Spróbuj tak:

Kopiuj
Regex aa = new Regex(@"^((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))\.$");

lub zamiast małpki dodając podwójny backslash

Kopiuj
Regex aa = new Regex("^((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))\\.$");
aaquillus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 185
0

Rzeczywiście działa, tylko o co chodzi z tą małpką?

freemp3
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Miechów
  • Postów: 284
aaquillus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 185
0

Dzięki, sprawa już zrobiona. Dziękuję za pomoc :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.