..
Foarte des programatorii sunt în poziţia de a avea pentru a parsa siruri de caractere.
Un caz tipic este atunci când un text de prelucrare introduse de către un utilizator pentru a căuta - şi în cele din urmă elimina - anumite caractere.
Pentru a simplifica acest lucru şi alte tipuri de activităţi, par a fi foarte util aşa-numitele expresii regulate.
O expresie regulată constă dintr-un "model abstract" de un şir care este folosit pentru a face comparaţii pentru a verifica faptul că şirul în comparaţie îndeplineşte anumite cerinţe de formatare. Este, de asemenea, pot utiliza expresii regulate pentru a extrage sau pentru a înlocui porţiuni de text.
Să vedem un exemplu destinat să arate modul în care aceste expresii. Utilizarea Visual Studio Am creat o aplicaţie consolă simplă (pe care noi o numim TestRegExp), care ia două obiecte de tip şir de intrare şi determină dacă prima dintre ele (o expresie regulata) meciuri pe secundă sau mai puţin. Ar trebui incluse în spaţiul de nume System.Text.RegularExpressions şi de a face comparaţia utilizând System.Text.RegularExpressions.Regex.IsMatch statică
folosind System.Text.RegularExpressions;
namespace TestRegExp
{
ClasseTest clasa
{
void Main static (string [] args)
{
dacă (Regex.IsMatch (args [1], args [0]))
Console.WriteLine ("de intrare în formatul stabilit.");
altfel
Console.WriteLine ("Intrarea nu respectă formatul specificat .");}}}
În acest moment, am executa aplicaţia ca primul parametru şi treci expresia regulată "^ \ d {5} $" (vom vedea în scurt timp sensul de simboluri întrebări) şi a doua ca şirul "1234" sau "12345". De ieşire a cererii în cazul şirul "1234" ar trebui să fie "de intrare nu respectă formatul specificat.", În timp ce în cazul de "12345" de intrare în set format. "
C: \> TestRegExp ^ \ d {5} 1234 dolari
Intrarea nu respectă formatul definit.
C: \> TestRegExp ^ \ d {5} 12345 dolari
De intrare în set format.
Acest lucru se datorează faptului că, după cum aţi înţeles deja, IsMatch metoda compară o expresie regulata cu un şir şi returnează valoarea booleană adevărat dacă formatul este dictată de observat pentru prima oara de la al doilea, FALSE în caz contrar.
In exemplul de mai sus expresia regulată "^ \ d {5} $" indică faptul că şirul de caractere care urmează să fie evaluate trebuie să fie de exact 5 numere (de fapt, comparaţia cu "1234" returnează false).
Mai precis caracterul "^" reprezintă începutul şirului, "\ d" indică faptul că trebuie să fie caractere numerice, "{5}" indică lungimea şirului şi "$" reprezintă sfârşitul şirului. Dacă eliminaţi caracterul "^" sensul expresiilor regulate se va schimba profund. De fapt, expresia \ d {5} $ va necesita întotdeauna prezenţa a cinci numere, în ordine, dar, de asemenea, validează şirul "abcd12345" sau "ciaociao12345", deoarece înţelesul său este "şir de caractere care se termină cu cinci numere consecutive."
O regulă bună de urmat este de a pune întotdeauna caracterul "^" la începutul anului o expresie regulată şi caracterul "$" la sfârşitul anului cu privire la aceasta. Acest aranjament asigură că de intrare trebuie să se potrivească exact expresia regulată şi nu conţine doar compatibil cu aceleaşi caractere.
| |
ASP şi Access (Ebook)
Gestionarea unei baze de date MS Access cu ASP. La doar 29 €. |
| |
MS Access (Avansat)
Aflaţi cum să creaţi şi să gestionaţi baze de date rapid şi uşor. Incepand de la 29 €. |
| |
Paint Shop Pro (întâi)
Grafica web si editare foto cu Corel PSP cunoscute. De la 49 €. |