KọmputaMmemme

PHP (regex) - ihe ọ bụ? Ihe atụ na-achọpụta mgbe okwu

Mgbe na-arụ ọrụ na ederede na ihe ọ bụla oge a mmemme asụsụ, mmepe mgbe niile izute na ebumnobi nke input nkwado maka ndaba na chọrọ ụkpụrụ, chọọ na-eji dochie ule iberibe na ndị ọzọ ụdị nke nhazi arụmọrụ nke agwa ọmụma. Zụlite gị onwe gị na nkwado algọridim na-eduga ná ọnwụ nke oge, na koodu ndakọrịta na mgbagwoju na ya mmepe na modernization.

The ngwa mmepe nke Internet na WEB-imewe asụsụ achọrọ e kere eke nke vasatail na kọmpat n'aka ederede nhazi na a kacha nta ego achọrọ maka nke a koodu. Ọ bụ ma e wezụga na bụ ewu ewu n'etiti beginners na ọkachamara mmepe nke PHP asụsụ. The mgbe okwu asụsụ dị ka ederede ndebiri ka mfe ọrụ nke na-ejizi ederede ma belata koodu n'ihi na iri puku kwuru iri na otu narị otu narị e. Ọtụtụ nsogbu nwere ike a ga-edozi na niile na-enweghị ya.

Ịgachi okwu na PHP

PHP asụsụ nwere atọ usoro-arụ ọrụ na mgbe nile okwu - «ereg», «mb_ereg» na «preg». The kasị bụ interface «preg», onye ọrụ na-enye ohere ka oboakwụkwọ nke PCRE mgbe okwu nkwado, izizi maka ndị Perl asụsụ, nke a gụnyere ke PHP ngwugwu. Preg-achọ ọrụ na a nyere ederede eriri kenha, dị ka a na-ụkpụrụ na asụsụ nke mgbe okwu.

syntax Basics

Dị ka akụkụ nke a obere isiokwu ọ gaghị ekwe omume na-akọwa n'ụzọ zuru ezu dum mgbe okwu syntax, n'ihi na nke a na e nwere a pụrụ iche e ji amụ. Anyị na-ewetara nanị isi ọcha na-egosi ohere Mmepụta na ịghọta koodu ihe atụ.

Na PHP mgbe okwu na-chie kọwaa nnọọ ike, ya mere mfe nkọwa. A mgbe okwu bụ a ederede eriri. Ọ mejupụtara a raara onwe ya nye separator template na mmegharị na-egosi ụzọ na-eme ya. Ekwe Omume Nsonye na dị iche iche na uzo ozo na repetitions nke ihe nakawa etu esi.

Ihe atụ, na okwu / \ d {3} - \ d {2} - \ d {2} / m divider bụ "/", sotere template, na akara «m» bụ mmegharị.

All ike nke mgbe nile okwu na-koodu iji meta-odide. The isi asụsụ metacharacter bụ backslash - "\". Ọ na-agbanwe ụdị nke na-esonụ odide na-abụghị (ie. E. ghọọ nkịtị agwa wildcard na Anglịkan). Ihe ọzọ dị mkpa metacharacter bụ a ogologo akara «|», ezipụta ọzọ template. More ihe atụ nke meta-odide:

^ Malite ihe ma ọ bụ a eriri
( malite subpattern
) End subpattern
{ Malite quantifier
} End quantifier
\ d ntụpọ ọbula si 0 ka 9
\ D ọ bụla agwa na bụghị a nọmba
\ s efu akara, ohere, tab,
\ w akara dictionary

PHP, nhazi mgbe nile okwu, ohere na-ewere dị ka a iche iche nti agwa, ka okwu nke XYZ na ABC EBEE dị iche iche.

subpatterns

Na PHP mgbe subpatterns site parentheses, ha na-akpọ mgbe ụfọdụ "subexpressions". Igosi ndị na-esonụ na ọrụ:

  1. Oke ọzọ. Dị ka ihe atụ, okpomọkụ ụkpụrụ (ihe | Bird |) ekwekọ n'àgwà okwu "okpomọkụ", "Firebird" na "ọkụ". Na-enweghị brackets ọ ga na-abụ ihe efu eriri, "nnụnụ" na "ọkụ".

  2. "Ikpọ" subpattern. Nke a pụtara na ọ bụrụ na ụkpụrụ adịkwa substring, mgbe ahụ, na-alaghachikwuru niile ọkụ. N'ihi na ihe doo anya, anyị na-enye ihe atụ. Nyere ndị na-esonụ mgbe okwu: na-eto eto na-enweta ((gold | gold plated) (nrite | cup)) - na eriri maka ọkụ, "na-eto eto na-akawanye a nrite ọlaedo." Na mgbakwunye na mbụ ahịrịokwu, na search results ga-agbala: "Gold Nrite", "Ọla", "gold".

Rụọ repetitions (kvadrifikatory)

Na chikota mgbe okwu bụ mgbe ọ dị mkpa inyocha ihe ugboro ugboro, nke nọmba na akara. Nke a abụghị nsogbu, ma ọ bụrụ na ọ bụghị ọtụtụ nke repetitions. Ma ihe na-eme mgbe anyị na-amaghị ha kpọmkwem ọnụ ọgụgụ? Na nke a, ọ dị mkpa na-eji pụrụ iche metacharacters.

N'ihi na a kọwaa repetitions eji kvadrifikatory - metacharacters ezipụta na nọmba. Kvadrifikatory bụ nke abụọ na ụdị:

  • nkịtị na brackets;
  • belata.

N'ozuzu quantifier metụrụ kacha nta na karịa ọnụ ọgụgụ nke kwere repetitions mmewere n'ụdị abụọ nọmba ke nkwado, dị ka x {2,5}. Ọ bụrụ karịa ọnụ ọgụgụ nke repetitions a na-amaghị, nke abụọ sere okwu na-akọwapụtaghị: x {2}.

Abbreviated quantifiers ihe atụ maka kasị of repetitions iji zere-enweghị isi overloading syntax. Na-emekarị e nwere atọ he:

1. * - efu ma ọ bụ karịa repetitions, nke bụ Ẹkot {0,}.

2. + - onye ma ọ bụ karịa repetitions, ie, {1} ...

3.? - efu ma ọ bụ naanị otu onye na megharịa - {0,1}.

Ihe Nlereanya regex

N'ihi na ndị na-amụta mgbe okwu, ihe atụ - kacha mma ọgụgụ. Anyị na-enye a ole na ole ndị na-egosi ha ohere na a kacha nta nke mgbalị. All koodu bụ n'ụzọ zuru ezu dakọtara na nsụgharị nke PHP 4.x na n'elu. Iji n'ụzọ zuru ezu ịghọta syntax na ojiji nke niile asụsụ atụmatụ anyị nwere ike ikwu na akwụkwọ site J .. Friedl, "mgbe okwu", nke n'ụzọ zuru ezu na-ewere syntax, na e nwere ihe atụ nke mgbe nile okwu bụghị naanị PHP, ma n'ihi na a Python, Perl, MySQL, Java, Ruby, na C #.

Nkwado E-mail address

Task. E nwere onye na Internet page on nke esenowo na-rịọrọ address email. Ịgachi okwu ga-elele correctness nke adreesị tupu izipu ozi. Check anaghị ekwe nkwa na kpọmkwem igbe akwụkwọ ozi n'ezie dị na-enweta ozi. Ma ewepụkwa ihe doro anya na-ezighị ezi adreesị ọ pụrụ.

Mkpebi. Dịka ọ dị na mmemme asụsụ, na PHP regex email-address nkwenye nwere ike na-emejuputa atumatu na ụzọ dị iche iche, na ihe atụ ndị dị n'isiokwu a na-adịghị ikpeazụ a na-na na-ahọrọ. Ya mere, na nke ọ bụla, anyị ga-enye a ndepụta chọrọ dị mkpa ka a ga-akpọrọ n'ime na akaụntụ mgbe mmemme na kpọmkwem, mmejuputa iwu-na-adabere kpam na Mmepụta.

N'ihi ya, okwu na-anwale a nti email, kwesịrị ịlele-esonụ na ọnọdụ:

  1. Ọnụnọ ke amalite kwụ n'ahịrị na @ akara, na e nweghị gaps.
  2. The domain akụkụ nke adreesị nke @ akara, nwere nanị nti odide maka ngalaba aha. The otu na-emetụta onye ọrụ aha.
  3. Mgbe ịlele aha njirimara dị mkpa iji chọpụta na ọnụnọ nke pụrụ iche dị ka nkwusora ma ọ bụ vetikal akara. Ndị dị otú ahụ na akara pụrụ ịdị ize ndụ na ike ga-dị na ndị dị otú ahụ di iche iche nke ọgụ na SQL-ogwu ogbugba. Zere adreesị.
  4. usernames ekwe naanị otu mgbe, nke nwere ike ịbụ nke mbụ ma ọ bụ ikpeazụ agwa na eriri.
  5. The ngalaba aha ga nwere ihe abụọ na-adịghị karịa isii odide.

Atụ, na-echebara ndị a niile ọnọdụ nwere ike hụrụ na ndị na-esonụ ọnụ ọgụgụ.

Nkwado nke a URL

Task. Lelee ma kpọmkwem ederede eriri a bụ ezigbo address URL. Ọzọkwa, anyị na-arịba ama na mgbe okwu URL-atule nwere ike na-emejuputa atumatu dị iche iche.

Mkpebi. Ikpeazụ anyị version bụ dị ka ndị:

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

Chebachaara ya mmiri na ihe nkowa iji ịbịaru.

azọrọ 1 Tupu URL ekwesịghị inwe ọ bụla na-agụ akụkọ
Kwuru 2 Lelee ọnụnọ nke amanyere bụ iwu nke nganiihu «http»
item 3 A ga-ọ dịghị akara
Kwuru 4 Ọ bụrụ na e «s», na URL kwuru ihe a chekwaa njikọ «https»
Kwuru 5 Chọrọ òkè nke "//"
Kwuru 6 Ọ dịghị ihe odide
p. 7-9 Verifying na mbụ larịị ngalaba na ọnụnọ nke ebe
p.10-13 Verifying ngalaba nke na-ede nke abụọ larịị na mgbe
p.14-17

File Ọdịdị URL - a set nke nọmba, mkpụrụedemede, na-emesi, dashes, ntụpọ, na a ịsụ na ịgba ọhịa na njedebe

Lelee nọmba kaadị

Task. Ị mkpa iji mejuputa nkwado nke banyere nọmba kaadị ndị kasị nkịtị na ugwo usoro. A variant naanị maka kaadị Visa na MasterCard.

Mkpebi. Mgbe na-eke okwu mkpa ka ị gaa na akaụntụ ekwe omume nke ọnụnọ gaps na input ụlọ. The digits na map na-ekewa iche iche maka mfe ịgụ na okpukpo. Ya mere, ọ bụ eke na a na mmadụ nwere ike na-agbalị itinye nọmba n'ụzọ dị otú a (ie. E. Iji oghere).

Dee a eluigwe na ala okwu na-ewe n'ime akaụntụ ekwe omume oghere ma ọ bụ hyphens, bụ mgbagwoju anya karịa nanị tụfuo niile odide ma e wezụga digits. Ya mere, anyị nwere ike ikwu iji a wildcard okwu / D, nke no na-ewepu niile odide ma e wezụga digits.

Ugbu a, i nwere ike gaa ozugbo na nlele nọmba. All na ụlọ ọrụ, kaadị issuers iji a pụrụ iche nọmba format. Na atụ ọ na-eji, na ahịa na-adịghị mkpa iji tinye aha nke ụlọ ọrụ - ya kpebisiri ike site nọmba. Visa kaadị mgbe niile na-amalite na nọmba 4 na nwere a ogologo nke 13 ma ọ bụ 16 digits. MasterCard amalite na nso nke 51-55 na a ogologo nọmba 16. N'ihi ya, anyị na-enweta ndị na-esonụ okwu:

Tupu nhazi iji nwere ike n'ihu na-anwale ikpeazụ digits nke nọmba, nke a gbakọọ na Luhn algọridim.

Verifying nọmba ekwentị

Task. Inyocha correctness nke banyere nọmba ekwentị.

Mkpebi. The ọnụ ọgụgụ nke digits na ofu na mobile ekwentị nọmba iche iche nke ukwu dabere na mba, ụwa nile otú elele eji mgbe nile okwu, nọmba ekwentị n'ụzọ ziri ezi agaghị ekwe omume. Ma mba nọmba nwere a siri ike format okè maka ịlele ụkpụrụ. Ọbụna ihe mere na ihe ndị ọzọ na mba ekwentị rụọ na-agbalị izute otu ọkọlọtọ. Ụlọ Ọdịdị bụ dị ka ndị:

+ CCC.NNNNNNNNNNxEEEE, ebe:

- C - bụ koodu mba esịnede 1-3 digits.

- N - nọmba ruo 14 digits.

- E - nhọrọ ndọtị.

Plus bụ ihe dị oké mmewere, na ihe ịrịba ama X bụ ugbu naanị mgbe ọ dị mkpa ndọtị.

N'ihi na anyị nwere ndị na-esonụ okwu:

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

The nọmba na nso

Task. Ọ dị mkpa iji hụ ukem ini integer nke a ụfọdụ nso. Ke adianade do, ọ dị mkpa iji chọta a mgbe nile okwu naanị nọmba site na nso.

Mkpebi. Ebe a na-a ole na ole okwu ụfọdụ n'ime ihe ndị kasị ikpe:

Kpebisie ike hour site 1 24 ^ (1 [0-2] | [1-9]) $
Day na ọnwa 1-31 ^ (3 [01] | [12] [0-9] | [1-9]) $
Sekọnd ma ọ bụ nkeji 0-59 ^ [1-5]? [0-9] $
A nọmba site 1 100 * (100 |? [1-9] [0-9]) $
Day nke afọ 1-366 ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |? [1-9] [0-9]) $

Search IP-adreesị

Task. Ọ dị mkpa iji chọpụta ma a nyere eriri a bụ ezigbo IP-adreesị IPv4 format ke nso site na 000.000.000.000-255.255.255.255.

Mkpebi. Dị ka ihe ọ bụla nsogbu na asụsụ nke PHP, mgbe okwu nwere ọtụtụ varintov. Ka ihe atụ, nke a:

Online atule nke okwu

Lelee regex n'ụzọ ziri ezi maka beginners pụrụ isi ike n'ihi na nke mgbagwoju anya nke syntax, nke dị iche na nke "mgbe" mmemme asụsụ. Iji dozie nsogbu a, e nwere ọtụtụ online testers okwu ndị na-eme ka ọ dị mfe na-elele correctness nke template gị kere ke ata ederede. The programmer abatakwa okwu na nkwenye data na-ntabi-ahụ n'ihi nke nhazi. Na-emekarị na e nwere na-ewetara a akwụkwọ ngalaba, nke nkọwa mgbe okwu, ihe atụ na mmejuputa iwu dị iche iche nke kasị ogologo asụsụ.

Ma ka n'ụzọ zuru ezu tụkwasịrị obi online ọrụ na-arụpụta adịghị akwadoro maka niile mmepe na-eji PHP. A mgbe okwu e dere na kwupụtara na onye, na-ewelite nzere na-ekwe nkwa na-anọghị nke njehie.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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