no.hideout-lastation.com
Paradis For Designere Og Utviklere


Beginner's Guide to Regular Expression (Regex)

Et vanlig uttrykk er et sett med tegn som danner et mønster som kan søges i en streng. Regex kan brukes til validering slik som å validere kredittkortnumre, for søk, dvs. via komplekse tekstkomponenter, og for å erstatte matchet tekst med en annen streng. Den har også god støtte for flere språk - lære den en gang, og du kan bruke den på tvers av mange programmeringsspråk.

Jeg har sett få folk ta en første titt på regex, og ignorere det helt. Jeg klandrer dem ikke; regex syntaks er kompleks og vil gjøre mange cringe akkurat som de kommandolinjene, bare verre. Men så er hver ny ting skummelt og virker umulig å lære først. Så, låner Horatius ord, jeg sier dette; Begynn, vær modig, og vent på å være klok .

Om Regex

Regex hadde sine røtter i nevrovitenskap og matematikk og ble først implementert i programmering i 1968 av Ken Thompson i QED tekstredigerer for tekstsøk. Nå er det en del av mange programmeringsspråk som Perl, Java, Python, Ruby og JavaScript.

La oss se på noen eksempler på hvordan regex fungerer.

Jeg bruker JavaScript i eksemplene mine. Nå, for å passere nybegynnernivå, må du lære alle tegnene, klassene, kvantifiseringene, modifiseringene og metodene som brukes i regex. Her er en lenke til Mozilla Developer Networks Regular Expression-side hvor du kan se et bord som inneholder alle disse. Du kan også henvise til cheatsheet på slutten av dette innlegget med de mest brukte tegnene.

La oss se et enkelt eksempel med en forklaring. Dette er en regex.

Dette er hva ovennevnte regex vil se etter i en linje, et tegn 'B' etterfulgt av minst ett av tegnene mellom (og inkludert) 'a' til 'z', 'A' til 'Z' og tallene 0 til 9.

Her er et utvalg av kamper i en linje uthevet:

Kurv , pære, B12 vitamin, BaSo4 , N BC selskap

Ovennevnte regex vil stoppe søket på Kurv og returnere en positiv respons. Det er fordi den globale modifikatoren ' g ' må spesifiseres hvis du vil at regex skal se på alle mulige kamper.

Nå, la oss se hvordan du bruker dette uttrykket i JavaScript. Testmetoden går: hvis det ble funnet en returrekke, true, annet false .

 var input = "din teststreng", regex = / B [a-zA-Z \ d] + /; hvis (! regex.test (input)) varsling ('Ingen kamp er funnet'); Ellers varsling ('En kamp er funnet'); 

La oss prøve en annen metode: match returnerer kampene som finnes i en matrise.

 var input = "din teststreng", regex = / B [a-zA-Z \ d] + / g, / * Jeg har lagt den globale modifieringen 'g' til regex for å få alle kampene * / ary = input.match (regex); hvis (ary === null) varsling ('Ingen kamp er funnet'); ellers varsel ('kampene er:' + ary.toString ()); 

Hva med streng replace ? La oss prøve det med regex nå.

 var input = "din teststreng", regex = / B [a-zA-Z \ d] + / g; varsling (input.replace (regex, "#")); 

Nedenfor er en kodepen for deg å finjustere. Klikk på "JavaScript" -fanen for å vise JS-koden.

Øvelser

For øvelser kan du google "regex øvelser" og prøve å løse dem. Her er hva du kan forvente når du prøver disse øvelsene, i henhold til vanskelighetsgrader.

grunn~~POS=TRUNC

For meg å kunne validere et passord er nok til å begynne med. Så bekreft et passord for 8 til 16 tegnlengde, alfanumerisk med ditt valg av spesialtegn tillatt.

mellom~~POS=TRUNC

Det er her du bør øve med mer virkelige verdensdata og lære noen flere regex poeng som lookahead, lookbehind påstander og matchende grupper ;

  • Bekreft PIN-koder, hexadecimaler, datoer, e-post-ID, flytpunkt.
  • Erstatt trailing null, hvite rom, et sett med matchende ord
  • Trekk ut forskjellige deler av en URL

Avansert

Du kan optimalisere de ovennevnte øvelsenees løsninger - den mest optimale regexen for e-post har tusenvis av tegn i den - så ta den så langt du føler deg komfortabel med, og det er nok . Du kan også prøve:

  • Parsing HTML eller XML (selv om det i den virkelige verden er motet til å gjøre det fordi det å bruke vanlig uttrykk for å analysere ikke-vanlig språk som HTML, vil aldri gjøre det tåpelig. Plus XML-parsing er en vanskelig oppgave, mer egnet for avanserte brukere)
  • Bytte ut koder
  • Fjerner kommentarer (unntatt IE betingede kommentarer)

Verktøy

Verktøy for å visualisere regex er en av de kuleste tingene der ute for meg. Hvis du noen gang kommer over en lang kompleks regex, kan du bare kopiere dem inn i et av disse verktøyene, og du vil kunne se strømmen tydelig. Dessuten er det mange verktøy du kan bruke til å lure med regex-koden. De viser også eksempler og cheatsheets sammen med delfunksjoner.

  • Debuggex - Det trekker et regexdiagram som per din innspilling, og du kan gjøre en rask deling til StackOverflow derfra.
  • RegExr - Du kan teste din regex med denne. Det har også referanse, et cheatsheet og eksempler for å hjelpe deg.
  • Forfylle - For øyeblikket, annet enn JavaScript, kan du også lure med Ruby og .NET versjoner av regex i den.

Regex Cheatsheet

pollettDefinisjon
[Abc]Ethvert enkelt tegn a, b eller c
[^ Abc]Enhver annen person enn a, b eller c
[A]Karakter mellom (inkludert) a til z
[^ Az]Tegn unntatt fra a til z
[AZ]Karakter mellom (inkludert) A til Z
.Ethvert enkelt tegn
\ sEn hvilken som helst whitespace karakter
\ SEnhver ikke-hvitt plass karakter
\ dEt hvilket som helst tall fra 0 til 9
\ DEnhver ikke-siffer
\ wEthvert ordkarakter (brev, tall og understrek)
\ WEnhver ikke-ord karakter
(...)Fang alt vedlagt
(A | b)Match enten a eller b
en?Tegn a er enten fraværende eller til stede en gang
en*Tegn a er enten fraværende eller tilstede flere ganger
a +Tegn a er til stede en eller flere ganger
en {3}3 forekomster av karakter en etterfølgende
en {3, }3 eller flere forekomster av karakter en etterfølgende
a {3, 6}3 til 6 forekomster av karakter en etterfølgende
^Start av streng
$Slutten av strengen
\ bEt ordgrense. Hvis et tegn er et ords siste eller første ordkarakter eller Hvis et tegn er mellom et ord eller et ikke-ordtegn
\ BIkke-ordgrense

Nå Les: Vanlige uttrykk: 30 Nyttige verktøy og ressurser

Slik hopper du over Windows 8 eller 8.1 påloggingsskjerm [Quicktip]

Slik hopper du over Windows 8 eller 8.1 påloggingsskjerm [Quicktip]

Påloggingsskjermen er en viktig sikkerhetsfunksjon til stede og brukes i alle bærbare og mobile enheter. Men hvis du jobber i et sikkert miljø og er den eneste brukeren av datamaskinen din, kan du tenke på å ta friheter når det gjelder å hoppe over påloggingsskjermen . På Windows 8 eller Windows 8.1 er det

(Tekniske og design tips)

Slik bytter du WordPress-pluginprogrammer med optimaliserte kodeutdrag

Slik bytter du WordPress-pluginprogrammer med optimaliserte kodeutdrag

Hver ny WordPress-installasjon kan forbedres med plugins. Men for mange plugins kan føre til at nettstedet ditt kjører mye langsommere og føles overraskende oppblåst.Det er god grunn til å installere plugins, men hvis du kan erstatte et plugin med PHP-kode, er det ofte lettere å gjøre det. Men hvordan vet du hvilke plugins du trenger vs. hvilk

(Tekniske og design tips)