..
Bardzo często programiści są w stanie konieczności analizowania ciągów znaków.
Typowym przykładem jest podczas przetwarzania tekstu wpisanego przez użytkownika do wyszukiwarki - a ostatecznie wyeliminować - niektóre znaki.
Aby uprościć ten i inne rodzaje działalności, wydają się być bardzo przydatne tzw wyrażeń regularnych.
Wyrażenie regularne składa się z "model abstrakcyjnego" łańcucha, który jest używany do porównań w celu sprawdzenia, czy w porównaniu ciąg spełnia pewnych wymogów formatowania. To może także używać wyrażeń regularnych do wyciągu lub wymienić części tekstu.
Zobaczmy przykład ma pokazać, jak te wyrażenia. Korzystanie z Visual Studio Tworzymy prostą aplikację konsoli (co nazywamy TestRegExp), które zajmuje dwa obiekty typu string jako wejście i określa, czy pierwszy z nich (wyrażenie regularne) pasuje na sekundę lub mniej. Powinny być zawarte w przestrzeni nazw System.Text.RegularExpressions i dokonać porównania przy użyciu statycznej System.Text.RegularExpressions.Regex.IsMatch
przy System.Text.RegularExpressions;
nazw TestRegExp
{
ClasseTest klasy
{
static void Main (string [] args)
{
if (Regex.IsMatch (args [1], args [0]))
Console.WriteLine ("wejście w zestawie format.");
więcej
Console.WriteLine ("Dane wejściowe nie przestrzega określonego formatu .");}}}
W tym momencie wykonujemy wniosku jako pierwszy parametr i przekazać wyrażenie regularne "^ \ d {5} $" (wkrótce zobaczymy rozumieniu pytania symboli) i drugi w postaci "1234" lub "12345". Wyjście z aplikacji w przypadku ciąg "1234" powinno być "wejścia nie przestrzega określonego formatu." Podczas gdy w przypadku "12345" wejście w zestawie format. "
C: \> TestRegExp ^ \ d {5} 1234 dolar
Wejście nie respektuje określony format.
C: \> TestRegExp ^ \ d {5} 12.345 dolarów
Wejście w zestawie format.
To dlatego, jak już zrozumiał, IsMatch metoda porównuje wyrażenie regularne z łańcucha i zwraca wartość logiczną true, jeśli format jest podyktowany po raz pierwszy zaobserwowane w drugim, w przeciwnym wypadku false.
W powyższym przykładzie wyrażenie regularne "^ \ d {5} $" oznacza, że ciąg do oceny muszą być dokładnie 5 numerów (w rzeczywistości, w porównaniu z "1234" zwraca false).
W szczególności znak "^" oznacza początek ciągu znaków "\ d" oznacza, że znaki muszą być numeryczne, "{5}" oznacza długość łańcucha i "$" oznacza koniec łańcucha. Jeśli usunąć znak "^" znaczenie wyrażeń regularnych zmieni głęboko. W rzeczywistości wyrażenie \ d {5} $ zawsze wymaga obecności pięciu liczb w kolejności, ale także potwierdzić ciąg "abcd12345" lub "ciaociao12345", ponieważ jego znaczenie jest "string, która kończy się z pięciu kolejnych numerów".
Dobrą regułą jest zawsze stawiamy znak "^" na początku wyrażenia regularnego, a znak "$" na końcu. Taki układ zapewnia, że wejście musi odpowiadać dokładnie wyrażenie regularne, a nie tylko zawierać zgodne z tymi samymi znakami.
| |
CSS (Kurs)
Web Design i dostępności zgodnie z W3C CSS i XHTML. Począwszy od 29 €. |
| |
Ruby i Ruby on Rails (Kurs)
Tworzenie oprogramowania i aplikacji webowych w języku Ruby RoR. Od 39 €. |
| |
Visual Basic 6 (Kurs)
Dodać Aplikacje biurowe z VB6. Od 39 €. |