Jak wstawić kropkę do wyrażenia regularnego?

0

Witam

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

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

1

Spróbuj tak:

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

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

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

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1