..


Sponsorerede links

Regular Expressions i C #

Artikel skrevet af Vincent Gaglio
Side 1 af 4

Meget ofte programmører er i den situation at skulle parse strenge af tegn. Et typisk eksempel er, når behandlingen af ​​en tekst, der indtastes af en bruger til at søge - og i sidste ende eliminere - visse tegn.
For at forenkle denne og andre former for aktiviteter, synes at være meget nyttigt såkaldte regulære udtryk.

Et regulært udtryk består af en "abstrakt model" for en streng, der bliver brugt til at foretage sammenligninger med henblik på at kontrollere, at de sammenlignede strengen opfylder visse formatering krav. Det kan også bruge regulære udtryk til at udtrække eller erstatte dele af teksten.

Lad os se et eksempel til formål at vise, hvordan disse udtryk. Ved hjælp af Visual Studio Vi skaber en simpel konsol applikation (som vi kalder TestRegExp), der tager to objekter af typen streng som input og bestemmer, om den første af dem (et regulært udtryk) svarer per sekund eller mindre. Bør indgå i System.Text.RegularExpressions namespace og foretage en sammenligning med den statiske System.Text.RegularExpressions.Regex.IsMatch






 hjælp System.Text.RegularExpressions;

 





 namespace TestRegExp

 





 {

 





 ClasseTest klasse

 





 {

 





 static void Main (string [] args)

 





 {

 





 if (Regex.IsMatch (args [1], args [0]))

 





 Console.WriteLine ("De input i det format, der er.");

 





 andet

 





 Console.WriteLine ("The input ikke overholder det angivne format .");}}}



På dette tidspunkt køre vi ansøgningen som den første parameter og videregive det regulære udtryk "^ \ d {5} $" (vi vil se om kort tid betydningen af ​​spørgsmål symboler) og den anden som strengen "1234" eller "12345". Produktionen af ​​anvendelsen i tilfælde af strengen "1234" bør være "Indgangen ikke overholder det angivne format.", Mens der i tilfælde af "12345" input i det format, der er. "






 C: \> TestRegExp ^ \ d {5} $ 1234

 





 Indgangen ikke overholder de fastsatte format.

 







 C: \> TestRegExp ^ \ d {5} $ 12345

 





 Indgangen i formatet sæt.



Dette skyldes, som du allerede har forstået, metoden IsMatch sammenligner et regulært udtryk med en streng og returnerer den booleske værdi SAND, hvis formatet er dikteret af den første observeret fra den anden, falske andet. I ovenstående eksempel det regulære udtryk "^ \ d {5} $" angiver, at strengen skal evalueres, skal være præcis 5 tal (faktisk returnerer sammenligning med "1234" falsk).

Mere specifikt tegnet "^" repræsenterer begyndelsen af ​​strengen, "\ d" angiver, at de tegn skal være numeriske, "{5}" angiver længden af ​​strengen og "$" repræsenterer slutningen af ​​strengen. Hvis du fjerner tegnet "^" betydningen af ​​regulære udtryk vil ændre sig dybt. Faktisk udtrykket \ d {5} $, vil altid kræve tilstedeværelsen af ​​fem numre i rækkefølge, men også validere strengen "abcd12345" eller "ciaociao12345", fordi dets betydning er "streng, der ender med fem fortløbende numre."

En god regel at følge er altid at sætte tegnet "^" i begyndelsen af ​​et regulært udtryk og tegnet "$" i slutningen heraf. Denne ordning sikrer, at input præcist skal matche det regulære udtryk og ikke blot indeholder kompatible med de samme tegn.

I den samme kategori ...
E-Learning
Front Page (Ebook) Front Page (Ebook)
Opret websider uden at kende HTML. Bare 25 €.
Java (kursus) Java (kursus)
OOP programmering i Java søn. -15% Rabat indtil 2011/12/10.
MySQL (Kursus) MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €.
Sponsorerede links