..
Svært ofte programmerere er i posisjon for å måtte analysere strenger av tegn.
Et typisk tilfelle er når behandling av en tekst som er skrevet av en bruker til å søke - og til slutt eliminere - visse tegn.
For å forenkle denne og andre typer aktivitet, synes å være svært nyttig såkalte regulære uttrykk.
Et regulært uttrykk består av en "abstrakt modell" av en streng som brukes til å lage sammenligninger for å kontrollere at strengen sammenlignet oppfyller visse formatering krav. E 'kan også bruke regulære uttrykk for å trekke ut eller å erstatte deler av teksten.
La oss se et eksempel til hensikt å vise hvordan disse uttrykkene. Ved hjelp av Visual Studio lage en enkel konsoll applikasjon (som vi kaller TestRegExp) som tar to objekter av typen string som input og avgjør om den første av dem (et vanlig uttrykk) kamper per sekund eller mindre. Det bør inkludere i navnerommet System.Text.RegularExpressions og gjøre sammenlikningen med statiske System.Text.RegularExpressions.Regex.IsMatch
bruker System.Text.RegularExpressions;
namespace TestRegExp
{
klasse ClasseTest
{
static void main (String [] args)
{
if (Regex.IsMatch (args [1], args [0]))
Console.WriteLine ("The inndataformat definerte måter.");
ellers
Console.WriteLine ("The innspill ikke respekterer det formatet som er angitt .");}}}
På dette punktet, utføre vi søknaden som første parameter og bestå regulært uttrykk "^ \ d {5} $" (får vi se kort på betydningen av spørsmålene symboler) og andre som strengen "1234" eller "12345". Utgangen av søknaden i tilfelle av strengen "1234" bør "The innspill ikke respekterer formatet er spesifisert.", Mens i tilfelle av "12345" The inndataformat definerte måter. "
C: \> TestRegExp ^ \ d {5} $ 1234
Input ikke respekterer de definerte format.
C: \> TestRegExp ^ \ d {5} $ 12345
Den inndataformat definerte måter.
Dette er fordi, som du allerede har forstått, sammenligner metoden IsMatch et regulært uttrykk med en streng og returnerer en boolsk verdi av sann hvis formatet er diktert av den først observert fra andre, false ellers.
I eksempelet over det vanlige uttrykket "^ \ d {5} $" indikerer at strengen skal vurderes må være av nøyaktig 5 tall (faktisk, returnerer sammenligning med "1234" false).
I mer detalj tegnet "^" representerer begynnelsen av strengen, "\ d" indikerer at karakterene må være numerisk, "{5}" angir lengden på strengen og "$" representerer slutten av strengen. Hvis du fjerner tegnet "^" vanlig uttrykk endrer betydningen av den dype. Faktisk uttrykket \ d {5} $ vil alltid krever tilstedeværelse av fem tall i rekkefølge, men også validere strengen "abcd12345" eller "ciaociao12345" fordi dens mening er "string som ender med fem sekvensielle tall."
En god regel å følge er å alltid sette tegnet "^" i begynnelsen av et regulært uttrykk og karakter "$" på slutten av dette. Denne ordningen sikrer at input må nøyaktig matche det vanlige uttrykket og ikke bare inneholder kompatibelt med de samme tegnene.
| |
ASP Zero (Ebook)
Microsoft ASP og VBScript til å lære fra bunnen av. At kun 29 €. |
| |
Java (Course)
OOP programmering i Java Søn Starter fra 49 €. |
| |
Ruby og Ruby On Rails (Course)
Opprette programvare og web applikasjoner med Ruby og RoR. Starter fra 39 €. |