..


Rėmėjų nuorodos

Reguliarūs išsireiškimai C #

Straipsnį parašė Vincentas Gaglio
Puslapis 1 iš 4

Labai dažnai programuotojai yra turėti išanalizuoti eilutės simbolių pozicijos. Tipiškas pavyzdys yra, kai apdorojimo tekstą įrašyti vartotojo ieškoti - ir galiausiai panaikinti - tam tikrų simbolių.
Siekiant supaprastinti šios ir kitų veiklos rūšių, atrodo labai naudinga vadinamoji reguliarios išraiškos.

Reguliaraus išraiška sudaro "abstraktus modelis" eilutę, kuri naudojama lyginti siekiant patikrinti, kad eilutės palyginti atitinka tam tikrus formatavimo reikalavimus. Jis taip pat galite naudoti reguliarios išraiškos išgauti ar pakeisti dalis teksto.

Pažiūrėkime, pavyzdžiui, siekiama parodyti, kaip šios išraiškos. Naudodami "Visual Studio Mes sukurti paprastą konsolinė programa (kuri mes vadiname TestRegExp), kad mano dviejų objektų tipo eilutę kaip įvesties ir nustato, ar jų pirmoji (reguliaraus išraiška) rungtynes ​​per sekundę ar mažiau. Turėtų būti įtraukti į System.Text.RegularExpressions vardų ir padaryti lyginti naudojant statinį System.Text.RegularExpressions.Regex.IsMatch






 naudojant System.Text.RegularExpressions;

 





 Vardų sritis TestRegExp

 





 {

 





 ClasseTest klasė

 





 {

 





 statinio void main (String [] args)

 





 {

 





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

 





 Console.WriteLine ("formatu nustatyti įėjimo.");

 





 kitas

 





 Console.WriteLine ("įėjimo neatitinka nustatyto formato .");}}}



Šiuo metu, mes vykdyti taikymo pirmasis parametras ir perduoti reguliaraus išraiška "^ \ d {5} $" (pamatysime netrukus klausimų simboliai prasme) ir antra, kaip eilutė "1234" arba "12345". Iš į eilutę "1234" atveju prašymą produkcija turėtų būti "įvesties neatitinka nustatyto formato.", O į "12345" įvedimas nustatytą formatą atveju. "






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

 





 Įvesties negerbia nustatytą formą.

 







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

 





 Formatu nustatyti įėjimo.



Taip yra todėl, kaip jūs jau suprato, metodas IsMatch palygina reguliaraus išraiška su eilutę ir grąžina loginę reikšmę TRUE, jei formatas diktuoja pirmasis pastebėjo iš antrosios, klaidingas kitaip. Į anksčiau pateiktame pavyzdyje reguliaraus išraiška "^ \ d {5} $" nurodo, kad eilutę reikia įvertinti turi būti tiksliai 5 numerius (tiesa, su "1234" palyginimas FALSE).

Tiksliau ženklas "^" atstovauja eilutės pradžios, "\ d" rodo, kad ženklai turi būti skaičiai, "{5}" rodo eilutę ir "$" ilgis yra eilutės pabaigos. Jei šalinate ženklas "^" reguliarios išraiškos prasmę keisis giliai. Tiesą sakant, išraiška \ d {5} $ visada reikalauja penkių skaičių seka buvimą, bet ir patvirtinti eilutė "abcd12345" arba "ciaociao12345", nes jo reikšmė yra "eilutę, kuri baigiasi su penkiais eilės numeriai."

Gera taisykle laikytis yra visada įdėti ženklas "^" ne reguliaraus išraiška pradžioje ir ženklas "$" pabaigoje jo. Šis susitarimas užtikrina, kad įvesties turi tiksliai atitikti reguliaraus išraiška, o ne tiesiog būti suderinama su ta pačia simbolių.

Tos pačios kategorijos ...
E-mokymasis
ASP ir Access (Ebook) ASP ir Access (Ebook)
Valdymas MS Access duomenų bazės su ASP. Ne tik 29 €.
Visual Basic 6 (kurso) Visual Basic 6 (kurso)
Padaryti Kompiuterio taikomosios programos su VB6. Nuo 39 €.
Web Rinkodara (kurso) Web Rinkodara (kurso)
Svetainių kūrimas, paieškos ir rinkodara. Nuo 39 €.
Rėmėjų nuorodos