CyfrifiaduronRhaglennu

Javascript, enghreifftiau mynegiant rheolaidd, gwiriwch Mynegiant Rheolaidd

Cyn dyfodiad iaith hyperdestun, ond yn hytrach, hyd nes y daeth yn amlwg na ddylem dim ond yn edrych, ond i wneud hynny o dan amodau penodol, mewn man penodol, o dan y data newid yn y meintiau cywir, mae'r chwilio arferol ac yn disodli trefnu swyddogaeth unrhyw soffistigedig rhaglennydd. Creu campweithiau chwilio celf mewn ieithoedd rhaglennu, a chronfa ddata rhagori yn y ffurflenni amodau samplo, offer gyda gweithdrefnau storio, sbardunau a dulliau eraill o draciau gwybodaeth perthynol sampl swmpus. Nid yw ymddangosiad y mynegiant rheolaidd i'r chwyldro yn arwain, ond roedd yn ffordd ddefnyddiol a chyfleus i ddod o hyd ac yn disodli gwybodaeth. Er enghraifft, mynegiadau rheolaidd Javascript e-bost yn symleiddio cofrestru ymwelwyr yn sylweddol, peidiwch â llwytho i'r wefan anfon negeseuon i gyfeiriadau ddim yn bodoli.

I ddweud y mynegiad rheolaidd JavaScript yn llawer gwell dilyniannau produmannnyh indexOf () yn galw yn y ffrâm o cylchol a gweithredwyr confensiynol, ni ellir ond dweud ei fod wedi gwneud y cod sgript yn gryno, ond ychydig ddealladwy i'r anghyfarwydd, fod yn ddiamwys.

Gwrthrych regexp = + injan templed

mynegiadau rheolaidd - yn beiriant templed +. Y cyntaf mewn gwirionedd yn rheolaidd fynegiant - JavaScript gwrthrych - y regexp, yr ail - yn berfformiwr patrwm, yn berthnasol i'r llinell. Peiriannau sy'n gweithredu mynegiadau rheolaidd ar gyfer pob iaith raglennu yn wahanol. Ac er nad yw pob wahaniaethau yn arwyddocaol, dylid cadw mewn cof, yn ogystal â bod yn siwr i wirio yn ofalus mynegiant rheolaidd cyn ei weithredu.

Mae nodiant arbennig wrth ysgrifennu ymadroddion rheolaidd yn eithaf hawdd i'w defnyddio ac yn eithaf effeithiol, ond mae angen gofal, taclusrwydd ac amynedd gan y datblygwr. Drwy nodiant Mae angen i ddod i arfer i batrymau mynegiant rheolaidd. Nid yw hyn yn chwiw, mae'n rhesymeg mecanwaith ar gyfer gweithredu «ymadroddion rheolaidd JavaScript."

patrwm mynegiant rheolaidd

Allowed dau opsiwn:

var expOne = / abc * / i;

var expTwo = regexp ( "abc *", "i");

Fel arfer mae'n defnyddio dull cyntaf. Yn yr ail achos, y dyfyniadau, gan fod defnyddio'r cymeriad '\', rhaid iddo gael dianc gan y rheolau cyffredinol.

'Rwyf - baner nodi "achos ansensitif". Gallwch hefyd ddefnyddio baneri 'g' - «Chwilio Byd-eang 'a' m '- chwiliad aml-lein.

Mae'r symbol '/' i nodi gyffredin i ddefnyddio templed.

Mae dechrau a diwedd y mynegiad rheolaidd

Mae'r '^' diffinio'r gymeriad (au) o ble i gychwyn y mynegiant rheolaidd, ac mae'r '$' yn penderfynu pa gymeriad (au) fod ar y diwedd. Ni ddylech arbrofi gyda nhw tu mewn mynegiant, lle mae ganddynt ystyr gwahanol.

Er enghraifft,

eRegExp var = regexp newydd (cRegExp, 'i');

cRegRes var = '';

var sTest = 'AbcZ';

os (eRegExp.test (sTest)) {

cRegRes + = '- Oes';

} {Arall

cRegRes + = '- Na';

}

var dTestLine = document.getElementById ( 'scTestLine');

dTestLine.innerHTML = 'Mynegiant /' + cRegExp + '/ i rhes "' + sTest + '"' + cRegRes.

Bydd y 'scTestLine' elfen arwain (amrywiol cRegExp ystyr gyfatebol):

mynegiant / ^ AbcZ $ / ar gyfer y llinyn "abcz" - Oes

Os ydych yn cael gwared ar y 'i' baner, y canlyniad yw:

mynegiant / ^ AbcZ $ / ar gyfer y llinyn "abcz" - Nac oes

Mae cynnwys mynegiant rheolaidd

Mynegiad rheolaidd yn yn ddilyniant o gymeriadau, sy'n destun y chwiliad. Mynegiant / qwerty / chwilio ar gyfer mynediad yw dilyniant hwn:

mynegiant / qwerty / ar gyfer llinyn "qwerty" - Oes

mynegiant / qwerty / ar gyfer llinyn "123qwerty456" - Oes

Mae'r newidiadau '^' yn fynegiant:

mynegiant / ^ qwerty / ar gyfer llinyn "123qwerty456" - Nac oes

mynegiant / ^ qwerty / ar gyfer llinyn "qwerty456" - Oes

Yn yr un modd, ar gyfer diwedd y symbol llinell. mynegiadau rheolaidd yn caniatáu ar gyfer cysondeb: er enghraifft, [az], [y wyddor], [0-9] - yr holl lythrennau'r wyddor rhag ofn neu ffigurau hyn. llythyrau Rwsia hefyd gellir ei ddefnyddio, ond dylai dalu sylw i amgodiad llinynnau (y ceisir y ceisir) a thudalennau. Yn aml llythyrau Rwsia, yn ogystal â nodau arbennig, mae'n well gosod codau.

Wrth ffurfio gall mynegiant rheolaidd yn nodi opsiynau ar gyfer presenoldeb rhai symbolau mewn lleoliad penodol, gyda'u rhif penodol fel a ganlyn: '*' = 0 ailadrodd neu fwy o weithiau; '+' = 1 neu fwy o weithiau ailadrodd; {1} yr un fath, fel '+'; {N} = ailadrodd gwaith yn union n; {N,} = n ailadrodd gwaith neu fwy; {N, m} = ailadrodd n i amser m.

Gan ddefnyddio cromfachau, gallwch nodi cymeriad a osodwyd o opsiynau. Mae'n edrych fel hyn. [ABCD] = [ad] = unrhyw gymeriad o'r pedwar: 'a', 'b', 'c' a 'd'. Gallwch nodi fel arall. Unrhyw gymeriad ac eithrio'r rhai a bennir yn y set: [^ abcd] = unrhyw gymeriad arall na 'a', 'b', 'c' neu 'd'. '?' Mae'n dangos bod ar y pwynt hwn ni all y symbol fod. '.' nodi unrhyw gymeriad ar wahân yn dangos y newline. Mae'r '\ n', '\ r', '\ u2028' neu '\ u2029'. Mae'r ymadrodd '\ s * | \ S *' = '[\ s | \ S] *' yn golygu chwilio am unrhyw gymeriad, yn cynnwys newlines.

fersiynau symlach o fynegiant rheolaidd

Mae'r ymadrodd '[\ s | \ S] *' - lle chwilio, neu ddiffyg o hynny, dyna'r cyfan sydd ar y lein. Yn yr achos hwn, y symbol '\ s' yn nodi lle, ac '\ S' - ei absenoldeb.

Yn yr un modd, gallwch ddefnyddio '\ d' i chwilio am y digidau degol, a '\ D' dod o hyd i gymeriad heb fod yn rhifol. Nodiant '\ f', 'r' a '\ n' yn cyfateb i'r ffurflen-bwydo, yn dychwelyd cerbyd a llinell-fwydo.

Mae cymeriad tab - '\ t', fertigol - '\ v'. Mae'r dynodiad '\ w' yn canfod unrhyw gymeriad Lladin wyddor (llythrennau, digidau, a'r marc tanlinellu) = [A-Za-z0-9_].

Mae'r dynodiad '\ W' yn cyfateb i [^ A-Za-z0-9_]. Mae hyn yn golygu unrhyw gymeriad nad yw'n llythyren o'r wyddor, rhif, neu '_'.

cymeriad chwilio '\ 0' = Chwilio NUL cymeriadau. Chwilio '\ xHH' neu '\ Uhhhh' = Chwilio cod cymeriad neu HHHH HH yn y drefn honno. H - digid hecsadegol.

geiriad a argymhellir a chodio mynegiad rheolaidd

Mae i unrhyw ymadrodd rheolaidd yn bwysig profi yn ofalus ar wahanol fersiynau o rhesi.

Gyda phrofiad o greu gwall mynegiant rheolaidd yn llai, ond serch hynny dylid eu cadw bob amser mewn cof na all eu gwybodaeth eu hunain o reolau ysgrifennu mynegiadau rheolaidd fod yn wir, yn enwedig pan fydd y "tymor rheolaidd" yn cael ei drosglwyddo o un iaith i'r llall.

Dewis rhwng glasurol (union arwydd) a fersiwn wedi'i symleiddio o fynegiant rheolaidd, mae'n well i well gan y cyntaf. Wedi'r cyfan, yn y clasuron bob amser yn dangos yn glir bod y ddau geisir. Os bydd y mynegiad rheolaidd neu chwilio llinyn cael llythyrau Rwsia, dylai arwain at un amgodiad holl linellau a'r dudalen ar sy'n gweithredu yn dod o hyd JavaScript-cod yn perfformio mynegiant rheolaidd.

Pan fydd prosesu gymeriad, yr wyddor heb fod yn Lladin, mae'n gwneud synnwyr i ystyried syniad o'r codau cymeriad, nid oedd y cymeriadau eu hunain.

Dylai Wrth weithredu'r algorithmau chwilio yn JavaScript mynegiant rheolaidd yn cael eu gwirio yn ofalus. Mae'n arbennig o bwysig i reoli'r amgodio cymeriad.

Mae'r cromfachau yn y mynegiad rheolaidd

Mae'r cromfachau diffinio opsiynau ar gyfer y symbol, y mae'n rhaid iddo fod, neu efallai na fydd mewn rhyw fan, a rownd - amrywiadau dilyniant. Ond dim ond rheol gyffredinol yw hyn. Oddi yno yn eithriad, ond mae amrywiaeth eang o gymwysiadau.

var cRegExp = "[az] * (png | jpg | gif).";

eRegExp var = regexp newydd (cRegExp, 'i');

cRegRes var = '';

var sTest = 'picture.jpg';

os (eRegExp.test (sTest)) {

cRegRes + = '- Oes';

} {Arall

cRegRes + = '- Na';

}

canlyniadau:

/[az]*.(png|jpg|gif)/ mynegiant ar gyfer y llinell "picture.jpg" - Oes

mynegiant /^[ad][az]*.(png|jpg|gif)/ ar gyfer llinell "picture.jpg" - Dim

/^[ad][az]*.(png|jpg|gif)/ mynegiant ar gyfer y llinell "apicture.jpg" - Oes

mynegiant /^[ad][az]*.(png|jpg|gif)/ ar gyfer llinell "apicture.jg" - Dim

Dylid nodi bod yr holl, yna efallai y seren fod yn bresennol sero weithiau. Mae hyn yn golygu y gallai'r "tymor rheolaidd" yn gweithio mewn ffyrdd annisgwyl o leiaf.

Gwiriwch regexp - profi e-bost

Ar mynegiant JavaScript rheolaidd a gafwyd ddau ddull, profi a exec, a gellir ei ddefnyddio yn y llinellau gwrthrychau (String) yn eu dulliau (swyddogaethau): chwilio, hollti, disodli ac yn cyd-fynd.

dull prawf eisoes wedi cael ei ddangos, mae'n eich galluogi i wirio cywirdeb y mynegiant rheolaidd. Dull Canlyniad: gwir / gau.

Ystyriwch y mynegiadau rheolaidd JavaScript canlynol. Gwiriwch e-bost gan y nifer o "anodd, ond yn sicr":

var eRegExp = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s @ "] +) *) | (". + ")) @ ((\ [[0-9] {1,3} \ [0-9] {1,3} \ [0-9] {.. . 1,3} \ [0-9] {1,3}]) | (. ([a-za-Z \ -0-9] + \) + [a-za-Z] {2}) ) $ /;

yn var llinyn sTest ='SlavaChip@sci.by 'yn rhoi yn wir, yna mae llinyn hwn yn yr e-bost-cyfeiriad cywir. Cynhaliwyd yr archwiliad gan eRegExp.test (sTest).

defnydd ymarferol: trin e-bost

Dull Exec yn darparu'r amrywiaeth allbwn, ffoniwch:

var aresult = eRegExp.exec (sTest);

cRegRes = '
' + aResult.length + '
';
am (var ff = 0; ff cRegRes + = aresult [i] + '
';
}

Mae'n rhoi canlyniad canlynol:

9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
undefined
sci.by
undefined
sci.by
Gwydd.

Mae dulliau eraill yn gweithio yn yr un modd. Argymhellir i wirio nhw allan eich hun. Datblygu a defnyddio mynegiadau rheolaidd, mae'n ddymunol i weithio yn ymarferol, nid yw'r copïo cod bob amser yn ddoeth yma.

Poblogaidd "tymor rheolaidd"

JavaScript mynegiant rheolaidd a roddir i eBostiwch nid yn unig mae llawer o opsiynau yn fwy hawdd. Er enghraifft, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i. Fodd bynnag, mae hwn yn ymgorffori yn cymryd i ystyriaeth nid yw pob embodiments o gofnod cyfeiriad e-bost.

Wrth gwrs, mae'n rhaid i chi edrych ar y profiad o gydweithwyr, i ddadansoddi sut mae eu arfaethedig cyn i ddylunio eu hunain ar JavaScript mynegiadau rheolaidd. Ond mae rhai anawsterau. Ni ddylem anghofio y gall JavaScript mynegiadau rheolaidd (enghreifftiau o wrth gopïo) dyblygu'r cymeriadau hanfodol: '\', '/' neu ddyfynbris. Bydd hyn yn arwain at wall, a gallwch chwilio hir.

Mae'n bwysig cymryd i ystyriaeth y arferol "dimensiwn dynol." Ar ôl mynegiant rheolaidd JavaScript ffurfiol ar gyfer y ffôn, a allai fod yr ymwelydd (person), caiff ei roi mewn ffyrdd gwahanol: 123-45-67, (29) 1234567, 80291234567 neu 375,291,234,567. Ac mae'r cyfan yr un nifer. Nid yw sillafu patrymau lluosog bob amser yn dderbyniol, ac obsesiwn anhyblyg y rheolau ar gyfer ysgrifennu rhifau gall greu anghysur neu gyfyngiadau diangen. Opsiwn / ^ \ d [\ d \ (\) \ -] {} 4,14 \ d $ / i yn addas ar gyfer y rhan fwyaf o achosion eich bod yn gwirio eich rhif ffôn.

Os ydych chi am wneud mynegiadau rheolaidd JavaScript, dim ond gwiriadau digid, hyd yn oed y fath achos syml yn gofyn am eglurhad. Dylid ei ystyried yn cyfanrif neu ffracsiynol, nodiant gwyddonol, neu rif arferol, yn gadarnhaol neu'n negyddol. Gallwch hefyd gymryd i ystyriaeth y bodolaeth y symbol arian, y nifer o ddigidau ar ôl y pwynt degol a rhaniad y rhan gyfan o'r nifer ar y triawd.

Mynegiant / ^ \ d + $ / i wirio rhifau yn unig a mynegiant /^\d+\.\d+$/i caniatáu defnyddio pwynt i nodi rhan ffracsiynol o nifer.

Yn JavaScript Gall gwirio mynegiadau rheolaidd yn cael ei ddefnyddio i nodi fformat y data mewnbwn caled, sy'n bwysig, yn enwedig wrth fynd i mewn proffiliau, data pasport, a chyfeiriadau cyfreithiol t. D.

Gwiriwch y dyddiadau - syml i'r cymhleth

Ystyriwch JavaScript mynegiadau rheolaidd arall. Enghreifftiau hyd yma, ag ar gyfer y nifer o rifau ffôn yn cynrychioli dewis rhwng anhyblygrwydd a hyblygrwydd. Dyddiad y digwyddiad - un o'r data hanfodol, sydd yn aml yn cael ei gweinyddu. Ond gosod y mewnbwn mewn fformat penodol: "dd-mm-bbbb 'neu' d.m.gg 'yn aml yn arwain at anfodlonrwydd cwsmeriaid. Mae'r newid o y maes mewnbwn o'r dydd er mis, yn llawn o clasurol HTML-ffurflen, ni all ddigwydd pan fyddwch yn mynd i mewn dim ond un digid, a gall yr ail mewnbwn fod yn anodd. Er enghraifft, ym maes y diwrnod y cafodd ei chyflwyno 3 ac nid y rhif nesaf 2 yn disodli'r cyntaf, ac yn cael ei briodoli i ei 32, sydd, wrth gwrs, yn achosi anghyfleustra.

Effeithlonrwydd a chyfleustra mynegiadau rheolaidd yn y bôn yn dibynnu ar y gwaith adeiladu cyffredinol deialog gyda'r ymwelwyr. Mewn un achos, i ddangos y dyddiad y mae'n ddoeth i ddefnyddio un maes mewnbwn o'r ffurflen, yn yr achos arall, mae angen i ddarparu ar gyfer gwahanol feysydd ar gyfer diwrnod, mis a blwyddyn. Ond yna unrhyw "costau o god" ychwanegol i wirio'r flwyddyn naid, mae nifer o fisoedd, mae nifer y diwrnodau ynddynt.

Chwilio a disodli, cof mynegiant rheolaidd

JavaScript yn disodli (mynegiadau rheolaidd) gan ddefnyddio'r dull y gwrthrych Llinynnol, ac yn ein galluogi i ddod o hyd i'r gwerth a newid ar unwaith. Mae hyn yn ddefnyddiol ar gyfer cywiro gwallau teipio, golygu cynnwys y meysydd ffurflen ac ar gyfer trosi data o un ffurf cyflwyniad i un arall.

var cRegExp = / ([a-z] +) \ s ([a-z] +) \ s ([a-z] +) / i; // wrth chwilio tri 'newidynnau'

sTest var = 'yr erthygl hon yn dda!';
var cRegRes = sTest.replace (cRegExp, "$ 2, $ 3, $ 1");

var dTestLine = document.getElementById ( 'scTestLine');

dTestLine.innerHTML = 'ymadrodd' + cRegExp + 'ar gyfer y llinyn "' + sTest + '" troi:' + cRegRes;

canlyniad:

/ ([Az] +) \ s mynegiant ([az] +) \ s ([az] +) / i am y llinell "yr erthygl hon yn dda!" allan: yr erthygl yn dda, mae hyn yn!

Wrth berfformio pob pâr o cromfachau storio'r canlyniad yn y 'amrywiol' $ n, lle mae n - nifer y parau braced ($ 1, $ 2, ...). Yn wahanol i confensiynol, dyma rhifo amrywiol yw 1, nid 0.

argymhellion cyffredinol

mynegiad rheolaidd yn symleiddio'r cod, ond mae'r amser i ddatblygu yn aml yn gwneud gwahaniaeth. Gallwch ddechrau gyda dyluniadau syml ac yna'n gwneud i gyfuno i mewn i fynegiadau mwy cymhleth. Gallwch ddefnyddio amrywiaeth o wasanaethau ar-lein i brofi mynegiadau rheolaidd neu offer lleol arbennig.

Bydd y dewis gorau yn creu eu llyfrgell eu hunain o mynegiadau rheolaidd a'u dulliau eu hunain i brofi datblygiadau newydd. Dyma'r ffordd orau i atgyfnerthu profiad a dysgu sut i adeiladu dylunio ddibynadwy ac yn gyfforddus yn gyflym.

Gan ddefnyddio ailadrodd cymeriadau a llinynnau, hynny yw, nodau arbennig '*', '+' a bresys, gan nodi dylai nifer y ailadroddion cael ei arwain gan yr egwyddorion symlrwydd a hwylustod. Mae'n bwysig sylweddoli bod mynegiant rheolaidd i ddechrau ei waith, ac i gael y canlyniad yn gyfan gwbl yn y grym y peiriant a ddefnyddir gan y porwr. Nid yw pob iaith yn gyfwerth â JavaScript. Gall pob porwr yn dod â'u dewisiadau personol wrth ddehongli ymadroddion rheolaidd.

nid dim ond tudalennau a dalennau arddull Cysondeb yw, i mynegiadau rheolaidd, mae ganddi hefyd ei wneud. Mae'r dudalen yn defnyddio JavaScript, gellir ei ystyried yn sy'n gweithio'n dda dim ond pan fydd wedi gweithio'n llwyddiannus ar amrywiaeth o borwyr.

JavaScript, Llinynnol a regexp

Erbyn y swydd iawn ar y lefel cleient, hynny yw, mewn porwr yr ymwelydd yn JavaScript, mae angen sgiliau uchel y datblygwr. ddigon hir i chi gael y cyfle i debug JavaScript cod porwr harian eu hunain neu gyda chymorth estyniadau trydydd parti, golygyddion cod, rhaglenni annibynnol.

Fodd bynnag, nid yw pob achos, gall y dadfygiwr drin ac yn darparu cefnogaeth dda i'r datblygwr, mae canfod gwall yn gyflym, canfod tagfeydd. Mae'r adegau pan fydd y cyfrifiadur yn wedi bod yn canolbwyntio ar y cyfrifiadau, yn y gorffennol pell. Yn awr, yn rhoi sylw arbennig i wybodaeth a llinell gwrthrychau wedi dod i chwarae rhan sylweddol. Mae nifer y llinynnau dur, ac mae eu gwir natur y maent yn amlwg yn unig ar yr adeg iawn ac yn lle iawn.

mynegiadau rheolaidd yn atgyfnerthu y posibilrwydd o linellau, ond mae angen hunan-barch. Debug regexp yn ei waith, hyd yn oed os yw'n bosibl i efelychu, syniad ddim yn rhy diddorol.

Mae deall strwythur a rhesymeg y gwrthrych regexp, sy'n golygu Llinynnol gwrthrych, y gystrawen a semanteg JavaScript - cod diogel a sicr yn wir, gweithrediad sefydlog o bob tudalen ac mae'r safle yn ei gyfanrwydd.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 cy.delachieve.com. Theme powered by WordPress.