CoimpiutaireanPrògramadh

PHP (regex) - dè a th 'ann? Eisimpleirean agus sgrùdadh cunbhalach abairtean

Nuair a bhios ag obair le teacsa sam bith anns an latha an-diugh cànan prògramaidh,-leasachaidh daonnan a 'coinneachadh ri amasan a' cur dearbhaidh airson gèilleadh ris an miannaichte pàtran, lorg agus àite deuchainn mìrean agus seòrsachan eile de obair giullachd caractar fiosrachaidh. Leasaich agad fhèin dearbhaidh-aontaran a 'dol gu call ùine, a' chòd-chòrdalachd agus iom-fhillteachd ann a leasachadh agus ath-nuadhachadh.

Tha leasachadh luath an eadar-lìon agus a-lìn dealbhadh cànain a dhìth cruthachadh goireasach agus cùmhnant dhòigh teacs giollachd le suim as lugha a dh'fheumar airson an còd seo. Chan eil e ach a-mhàin agus tha e a-chòrdte am measg luchd-tòiseachaidh agus leasachaidh proifeiseanta PHP cànan. Tha cànan labhairt gu cunbhalach mar an teacs teamplaidean a dhèanamh nas sìmplidhe gus an obair làimhseachadh an teacs agus lùghdachadh code deichean agus na ceudan de lines. Tha mòran dhuilgheadasan chan urrainn aig a h-uile às aonais.

Abairtean cunbhalach ann PHP

Tha trì cànain PHP uidheamachdan airson a bhith ag obair gu cunbhalach le abairtean - «ereg», «mb_ereg» agus «preg». As cumanta a tha an eadar-aghaidh «preg», aig a bheil gnìomhan cothrom a thoirt air an leabharlainn na PCRE cunbhalach a chur an cèill taic, a leasachadh bho thùs Perl airson a 'chànain, a tha air a ghabhail a-steach ann an PHP pasgan. Preg-'sireadh gnìomhan ann an teacsa a thoirt a fhreagras air an sreang, a rèir pàtran àraidh ann an cànan cunbhalach abairtean.

sheantansan Basics

Mar phàirt de artaigil goirid a tha e do-dhèanta a 'toirt cunntas mionaideach air fad gu cunbhalach a chur an cèill sheantansan, airson seo tha sònraichte litreachas. Tha sinn a thaisbeanadh a-mhàin na prìomh eileamaidean a 'sealltainn na cothroman airson a' tuigsinn agus a 'chòd eisimpleirean.

Ann PHP cunbhalach a chur an cèill gu foirmeil air a mhìneachadh gu math doirbh, agus mar sin a dhèanamh nas sìmplidhe tuairisgeul. A 'cur an cèill gu cunbhalach a tha ann an teacsa sreang. Tha e a 'dèanamh suas a dh'aon ghnothach SEPARATOR teamplaid an atharrachaidh agus a' comharrachadh an t-slighe a làimhsichear e. Comasach air a ghabhail a-steach ann an diofar roghainnean eile agus ath-aithrisean na pàtranan.

Mar eisimpleir, ann an labhairt / \ d {3} - \ d {2} - \ d {2} / m sgaradh tha "/", air a leantainn leis an template, agus an samhla «m» tha an atharrachaidh.

A h-uile cumhachd cunbhalach abairtean a tha a 'cleachdadh encoded meta-charactaran. Tha a 'phrìomh cànan metacharacter tha an backslash - "\". Tha e ag atharrachadh an t-seòrsa a leanas caractaran air an taobh eile (ie. E. thionndadh àbhaisteach caractar fhiadhaich agus a chaochladh). Cudromach eile metacharacter 'S e loidhne dhìreach «|», a' sònrachadh an teamplaid eile. Tuilleadh eisimpleirean de meta-charactaran:

^ Start nì no sreang
( Start subpattern
) End subpattern
{ Start quantifier
} End quantifier
\ d deicheach figear bho 0 gu 9
\ D sam bith caractar nach eil an àireamh
\ s falamh samhla, farsaingeachd, tab,
\ w samhla faclair

PHP, a làimhseachadh gu cunbhalach abairtean, àite air a mheas mar dligheach caractar fa leth, mar sin a 'cur an cèill XYZ agus ABC FAR tha eadar-dhealaichte.

subpatterns

Ann PHP cunbhalach subpatterns le bracaidean, agus tha iad uaireannan ris an cante "subexpressions". Seinn an dreuchdan a leanas:

  1. Riarachadh roghainnean eile. Mar eisimpleir, an teas pàtran (rudeigin | Bird |) a 'coinneachadh ri na faclan "teas", "Firebird" agus "hot". Agus às aonais an eadar camagan bidh e a-mhàin a bhith falamh sreang, "an t-eun" agus "hot".

  2. "Mìorbhaileach" subpattern. Seo a 'ciallachadh ma tha am pàtran a sheisich substring, agus an uair sin a' tilleadh a h-uile matches. Mar shoilleireachadh, tha sinn a 'toirt seachad eisimpleir. Leis a leanas a chur an cèill gu cunbhalach: an neach a bhuannaicheas a 'faighinn ((òir | òir plated) (bonn | cupa)) - agus an t-sreang airson matches, "an neach a bhuannaicheas a' faighinn bonn òir." A thuilleadh air a 'chiad abairt, an toraidhean luirg thèid a-mach: "Bonn Òir", "buinn", "òr".

-Obrachaidh ath-aithrisean (kvadrifikatory)

Anns a 'cur ri chèile an cunbhalach a chur an cèill' S tric a tha riatanach gus sgrùdadh a dhèanamh air an ath-aithris air àireamhan agus samhlaidhean. Chan eil seo na dhuilgheadas, ma eil mòran ath-aithrisean. Ach ciod a dhèanamh nuair nach eil sinn eòlach air an dearbh àireamh? Sa chùis seo, tha e riatanach gu sònraichte a chleachdadh metacharacters.

Airson tuairisgeul air ath-aithrisean a chleachdadh kvadrifikatory - metacharacters gu sònraich an àireamh. Kvadrifikatory Tha dà sheòrsa:

  • cumanta ann an camagan;
  • lùghdachadh.

Uile gu lèir quantifier bhean leis a 'char as lugha agus as motha an àireamh de cead ath-aithrisean eileamaid ann an riochd dà àireamh ann an braces, leithid x 2.5 {}. Ma bhios an àireamh as motha de ath-aithrisean chan eil fios, an dàrna argamaid nach eil air an sònrachadh: x {2}.

Giorraichte quantifiers tha samhlaidhean airson a 'chuid as cumanta de ath-aithrisean ann an òrdugh gu neo-riatanach a sheachnadh overloading sheantansan. Mar as trice tha trì gearraidhean:

1. * - neoni no barrachd ath-aithrisean, a tha co-ionann ri {0}.

2. + - aon no barrachd ath-aithrisean, ie, {1} ...

3.? - neoni no ach aon ath-- {} 0,1.

eisimpleirean regex

Airson an fheadhainn a tha ag ionnsachadh cunbhalach abairtean, eisimpleirean - an leabhar as fheàrr. Tha sinn a 'bheagan a' sealltainn na cothroman aca a 'char as lugha le oidhirp. A h-uile Còd a tha gu tur co-chòrdail le tionndaidhean de PHP 4.x agus gu h-àrd. Airson làn-thuigsinn an sheantansan agus cleachdadh na h-uile cànan feartan sinn a 'moladh an leabhar le J .. Friedl, "cunbhalach abairtean", a tha làn bheachdachadh air sheantansan, agus tha eisimpleirean ann gu cunbhalach abairtean nach eil a-mhàin PHP, ach cuideachd airson Python, Perl, MySQL, Java, Ruby, agus C #.

Dearbhaidh seòladh puist-d

Gnìomh. Tha an eadar-lìon duilleag air a bheil an luchd-tadhail a tha ag iarraidh an seòladh post-d. Cunbhalach a chur an cèill, feumaidh sùil air na ceart de na seòlaidhean mus cur brathan. Dèan cinnteach nach eil a 'dol an urras gun ainmichte bogsa-puist-rìribh ann agus a' faighinn brathan. Ach feamad a-mach gu follaiseach ceàrr seòlaidhean ghabhas sin dèanamh.

Co-dhùnadh. Mar le sam bith an cànan prògramaidh, ann PHP regex-seòladh post-d dearbhaidh a dh'fhaodas a chur an gnìomh ann an diofar dhòighean, agus na h-eisimpleirean anns an aiste seo nach eil a 'chuairt dheireannach agus chan eil ach roghainn. Uime sin, anns gach cùis, bidh sinn a 'toirt seachad liosta de na riatanasan a dh'fheumas a bhith air a ghabhail a-steach nuair a prògramadh agus sònraichte a chur an gnìomh a' crochadh gu tur air an leasaiche.

Mar sin, a 'cur an cèill gun deuchainn-d dligheach, bu chòir na cumhaichean a leanas:

  1. Tha làthaireachd anns a 'tòiseachaidh sreathan air na @ samhla, agus nach eil beàrnan.
  2. Tha an àrainn phàirt de seòladh an @ samhla, tha dligheach caractaran a-mhàin airson àrainn ainmean. Tha an aon rud a 'buntainn ris an neach-cleachdaidh ainm.
  3. Nuair a cheartachadh nam ainm-cleachdaiche a tha riatanach gus dearbhadh an làthair caractaran sònraichte leithid an asgair no loidhne dhìreach. A leithid samhlaidhean a tha a dh'fhaodadh a bhith cunnartach agus faodar a tha ann a leithid sin sheòrsachan de ionnsaighean a SQL-stealladh. Seachain seòlaidhean.
  4. ainmean-cleachdaiche leigeil le dìreach aon phuing, a dh'fhaodadh nach bi a 'chiad no an caractar mu dheireadh ann an sreang.
  5. Tha an àrainn ainm Feumaidh co-dhiù dà agus nach eil nas fhaide na sia caractaran.

Mar eisimpleir, a 'gabhail a-steach a h-uile de na h-faodar a faicinn ann an figear a leanas.

Ceumannan URL

Gnìomh. Thoir sùil air a bheil an teacsa a shònrachadh sreang a tha dligheach seòladh URL. Rithist, tha sinn fa-near gum cunbhalach abairtean URL-litreachaidh urrainn a chur an gnìomh ann an diofar dhòighean.

Co-dhùnadh. Tha ar dreachd dheireannach a tha mar a leanas:

/^(https?:\/\/)?([\da-z\.-]+)\.([az\.]{2,6})([\/\w \ .-] *) * \ /? $ /

Now sgrùdaich na pàirtean ann a bhith a 'cleachdadh nas mionaidiche air an dealbh.

tagradh 1 Mus deach URL sam bith nach bu chòir a caractaran
tagraidh 2 Lorg ann an làthair an ro-leasachan-sheachanta «http»
Earrann 3 Chan eil samhlaidhean
tagradh 4 Ma tha «s», an URL puingean gu dhaingnichte co-cheangailte «https»
tagraidh 5 Dhìth cuibhrionn an "//"
tagradh 6 Chan eil na caractaran
p. 7-9 Fìreanachadh a ' chiad ìre àrainn-lìn agus an làthair a' phuing
p.10-13 Fìreanachadh àrainn sgrìobhadh an dàrna ìre agus a 'phuing
p.14-17

File structar URL - seata àireamhan, litrichean, underscores, dashes, dotagan, agus slaise aig deireadh

Lorg ann an àireamhan chairtean-creidis

Gnìomh. Feumaidh tu dearbhaidh a chur an gnìomh a-steach an àireamh cairt-chreidis a 'pàigheadh siostaman as cumanta. Coltach a-mhàin airson cairtean Visa agus MasterCard.

Co-dhùnadh. Nuair a bhios a 'cruthachadh an abairt a dh'fheumas tu a ghabhail a-steach a dh'fhaodadh a làthair beàrnan ann an taic an t-seòmar. Tha meuran-aireamh air a 'mhapa air an roinn ann am buidhnean nas fhasa airson an leughadh agus dictation. Uime sin, tha e nàdarra gu bheil neach is urrainn a 'feuchainn ri dhol a-steach àireamh ann an dòigh seo (ie. E.' cleachdadh àiteachan).

Sgrìobh choitcheann a chur an cèill a 'gabhail a-steach ghabhas àiteachan no tàthan, tha e nas iom-fhillte na bhith dìreach a tilgeadh air falbh a h-uile caractaran ach a-mhàin meuran-aireamh. Mar sin, tha sinn a 'moladh an cleachdadh-fhiadhaich a chur an cèill / D, a tha a' toirt air falbh a h-uile caractaran ach a-mhàin meuran-aireamh.

A-nis faodaidh sibh a dhol dìreach chun an t-seic an àireamh. Companaidhean uile, cairt creideis issuers a chleachdadh gun choimeas uile cruth. Anns an eisimpleir a tha e air a chleachdadh, agus an neach-dèiligidh chan fheumar a dhol a-steach an t-ainm a 'chompanaidh - a tha e air a dhearbhadh leis an àireamh. Visa cairtean-còmhnaidh a 'tòiseachadh le na h-àireamhan 4 agus tha fad 13 no 16 meuran-aireamh. MasterCard a 'tòiseachadh ann an raon de 51-55 le fada àireamh 16. Mar thoradh air, gheibh sinn na leanas a chur an cèill:

Mus obrachadh an òrdugh Faodar tuilleadh deuchainn mu dheireadh meuran-aireamh an àireamh, a tha air obrachadh a-mach air an Luhn algairim.

Fìreanachadh àireamh fòn

Gnìomh. Sgrùdadh ceart a-steach an àireamh fòn.

Co-dhùnadh. Tha an àireamh de meuran-aireamh ann an stèidhichte agus gluasadach àireamhan fòn eadar-dhealaichte a rèir dè an dùthaich, agus mar sin choitchinne sùil air cleachdadh cunbhalach abairtean, àireamh fòn ceart do-dhèanta. Ach eadar-nàiseanta a-àireamhan a tha teann air cruth agus foirfe airson sgrùdadh pàtran. Fiù tuilleadh gus am bi barrachd is barrachd nàiseanta fòn-obrachaidh a 'feuchainn ri coinneachadh ri na h-aon ìre. Seòmar structar mar a leanas:

+ CCC.NNNNNNNNNNxEEEE, far a bheil:

- C - tha an còd dùthcha anns a bheil 1-3 meuran-aireamh.

- N - an àireamh suas gu 14 meuran-aireamh.

- E - roghainneil leudachan.

Plus tha riatanach, agus an soidhne X tha an làthair a-mhàin nuair a tha feum leudachan.

Mar thoradh againn a leanas a chur an cèill:

^ \ + [0-9] {1.3 } \. [0-9] {} 4,14 (?: X. +)? $

Tha àireamhan anns an raon

Gnìomh. Tha e riatanach dèanamh cinnteach gu co-thuiteamas a integer de raon sònraichte. A bharrachd, tha e riatanach a lorg a chur an cèill gu cunbhalach a-mhàin na h-àireamhan bho raon.

Co-dhùnadh. Seo beagan abairtean ri cuid de na cùisean as cumanta:

Obraich a-mach uair, bho 1 gu 24 ^ (1 [0-2] | [1-9]) $
Latha ann am mìos 1-31 ^ (3 [01] | [12] [0-9] | [1-9]) $
Diogan no mionaid 0-59 ^ [1-5]? [0-9] $
Tha grunn bho 1 gu 100 * (100 |? [1-9] [0-9]) $
Latha den bhliadhna 1-366 ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |? [1-9] [0-9]) $

Lorg seòlaidhean IP-

Gnìomh. Tha e riatanach gus co-dhùnadh a thoirt sreang a tha dligheach IP-seòladh ann an cruth IPv4 ann an raon bho 000.000.000.000-255.255.255.255.

Co-dhùnadh. Mar le duilgheadas sam bith ann an cànan PHP, a 'labhairt gu cunbhalach Tha iomadh varintov. Mar eisimpleir, seo:

Online sgrùdadh abairtean

Lorg regex ceart do luchd-tòiseachaidh Faodaidh e bhith doirbh air sgàth iom-fhillteachd na sheantansan, a tha eadar-dhealaichte bhon "cunbhalach" phrògraman cànan. Gus fuasgladh fhaighinn air an duilgheadas seo, tha mòran abairtean air-loidhne luchd-deuchainn a dhèanamh a nì e furasta a sgrùdadh ceart de na teamplaid thu a chruthachadh ann am fìor teacsa. Tha phrogramaiche 'sruthadh dhan a chur an cèill agus fìreanachadh dàta agus a' bhad a 'faicinn na thoradh air an giullachd. Mar as trice tha an làthair iomradh earrann, a tha a 'toirt fiosrachadh gu cunbhalach abairtean, eisimpleirean eadar-dhealachaidhean agus buileachadh airson a' chuid as motha de chànanan leudaichte.

Ach ri làn earbsa seirbheisean air-loidhne toraidhean cha mholamaid airson a h-uile luchd-leasachaidh a 'cleachdadh PHP. A 'cur an cèill gu cunbhalach agus tha e sgrìobhte a dhearbhadh ann an neach, a' togail teisteanas agus barantas a thoirt aonais mhearachdan.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 gd.unansea.com. Theme powered by WordPress.