Kompyuta, Mapulogalamu
Php (regex) - ndichiyani? Zitsanzo ndi afufuze mawu zonse
Pamene akugwira ntchito lemba mu chinenero chamakono mapulogalamu, kutukula zonse kukumana ndi zolinga za athandizira kutsimikiza kwa kugwilizana ndi chitsanzo akufuna, kufufuza ndi kutibwezera zidutswa mayeso ndi zina processing ntchito ya mudziwe khalidwe. Mkhalidwe wanu ma aligorivimu kutsimikiza mwini kumabweretsa imfa ya nthawi, malamulowo ngakhale ndi kuvuta mu chitukuko ndi wamakono.
Kukula mofulumira ya Internet ndi ukonde kapangidwe ka m'zinenero chofunika chilengedwe cha njira mosalekeza ndi yaying'ono ya processing malemba ndi osachepera kuchuluka wofunikila m'ndondomeko zino. Ndi nazonso ndi otchuka pakati oyamba ndi kutukula akatswiri a chinenero Php. The zonse chinenero mawu monga zidindo lemba wosalira ntchito woweruza malemba ndi kuchepetsa kachidindo kwa makumi ndi mazana a mizere. mavuto ambiri sangathe kuthetsedwa konse popanda izo.
Mawu zonse mu Php
chilankhulo Php ali njira zitatu ntchito mawu zonse - «ereg», «mb_ereg» ndi «preg». Ambiri ndi mawonekedwe «preg», amene ntchito imapatsa ku laibulale ya PCRE thandizo zonse mawu, poyambirira inachitidwa chinenero Perl, zomwe zili m'gulu la phukusi Php. Preg kufunafuna ntchito mu anapatsidwa lemba chingwe ofananira, malinga ndi chitsanzo ena m'chilankhulo cha mawu zonse.
malembedwe ndizosowa
Monga mbali ya nkhani yochepa n'zosatheka kufotokoza mwatsatanetsatane lonse zonse mawu malembedwe, chifukwa ichi pali mabuku apadera. Ife kupereka yekha zinthu zazikulu kusonyeza mwayi wopanga mapulogalamu ndi kumvetsa zitsanzo code.
Mu Php akuti nthawi zonse yokhala kumatanthauza zovuta, choncho wosalira malongosoledwe. Mawu zonse ndi chingwe malemba. Amakhala ndi odzipereka olekanitsa Chinsinsi ndi modifier osonyeza njira kwayekha. N'zotheka kuti likhale njira zina zosiyanasiyana ndi kubwereza kwa dongosolo.
Mwachitsanzo, mu mawu / \ D {3} - \ D {2} - \ D {2} / mamita wogawira ndi "/", kenako M'manja, ndipo chizindikiro «mamita» ndi modifier.
mphamvu zonse za mawu nthawi zonse ndiyotengera ntchito pambuyo-m'nkhaniyi. Chinenero chachikulu metacharacter ndi backslash - "\". Chingasinthe mtundu wa zotsatirazi otchulidwa pa pandunji (ie. E. n'kukhala wamba khalidwe wildcard ndi mosemphanitsa). metacharacter china chofunika ndi molunjika mzere «|», n'chakuti ya M'manja zina. zitsanzo zina za pambuyo-m'nkhaniyi:
| ^ | Yambani chinthu kapena chingwe |
| ( | Yambani subpattern |
| ) | mapeto subpattern |
| { | Start quantifier |
| } | mapeto quantifier |
| \ D | manambala decimal 0 9 |
| \ D | khalidwe lililonse kuti si ambiri |
| \ m | kanthu chizindikiro, danga, tsamba, |
| \ yakumadzulo | chizindikiro dictionary |
Php, processing mawu zonse, malo ankaona ngati khalidwe osiyana chomveka, kotero mawu a XYZ ndi ABC ali osiyana.
subpatterns
Mu Php subpatterns zonse ndi parentheses, ndipo limatchedwa "subexpressions". Kuchita ntchito zotsatirazi:
Kugawilidwa kwanthaka njira zina. Mwachitsanzo, kutentha chitsanzo (chinachake | Mbalame |) chikugwirizana ndi mawu "kutentha", "Firebird" ndi "chamoto". Ndipo popanda m'mabokosi izo kokha kukhala chingwe kanthu, "mbalame" ndi "chamoto".
"Zochititsa kaso" subpattern. Izi zikutanthauza kuti ngati chitsanzo chikufanana substring, ndiye akubwerera machesi zonse. Chifukwa ndi losavuta kumva, timapereka chitsanzo. Popeza awa akuti zonse: wopambana amalandira ((golide | golide yokutidwa) (Mendulo | chikho)) - ndipo chomangira cha machesi, "wopambana zikuchoka n'kulandira mendulo ya golidi." Kuwonjezera pa mawu koyamba, muzotsatira adzakhala chikalata: "Zikho Gold", "mendulo", "golidi".
Ntchito kubwereza (kvadrifikatory)
Mu kulemba mawu zonse zambiri zofunikira kudziwa kubwereza kwa manambala ndi zizindikiro. Izi si vuto, ngati osati zambiri kubwereza. Koma zoyenera kuchita pamene ife sitikudziwa chiwerengero chawo enieni? Pankhaniyi m'pofunika ntchito metacharacters wapadera.
Lofotokoza kubwereza ntchito kvadrifikatory - metacharacters kuti mwachindunji chiwerengero. Kvadrifikatory ndi mitundu iwiri:
- wamba m'mabokosi;
- yafupika.
Cacikulu quantifier kukhudzidwa ndi mlingo ndi pazipita analola kubwereza amafotokozera mu mawonekedwe a manambala awiri braces, monga × {2,5}. Ngati nambala pazipita kubwereza Sizikudziwika ndi Mtsutso wachiwiri si chinaneneratu: × {2}.
Chidule quantifiers zizindikiro kwa ambiri kubwereza pofuna kupewa zosafunika overloading malembedwe. Kawirikawiri pali mabala zitatu:
1. * - ziro kapena zambiri kubwereza, lomwe ndi lofanana {0,}.
2. + - kubwereza chimodzi kapena zingapo, ie, {1} ...
3.? - ziro kapena mmodzi kubwereza - {0,1}.
zitsanzo regex
Anthu amene amaphunzira mawu zonse, zitsanzo - buku bwino. Timapereka angapo amene amasonyeza mwayi awo ndi osachepera khama. kachidindo onse amadziwa yogwirizana ndi mabaibulo Php 4.x ndi pamwamba. Mumvetse kwathunthu malembedwe ndi ntchito mbali chinenero onse Mpofunika buku ndi J .. Friedl, "mawu zonse", umene mokwanira ankaona malembedwe, ndipo pali zitsanzo za mawu zonse osati Php, komanso kwa Python, Perl, MySQL, Java, Ruby, ndi C #.
Kutsimikiza E-mail adiresi
Ntchito. Pali tsamba Internet limene mlendo anapempha email. Zonse akuti ayenera kuonanso kulondola kwa maadiresi asanawatumizire mauthenga. Cheke sizitanthauza kuti mwachindunji olandirira makalata weniweni ndipo amalandira mauthenga. Koma kulimira maadiresi mwachionekere cholakwika chitha.
Kusankha. Pamene ndi chinenero mapulogalamu, mu Php regex Imelo Yotsimikiza-adiresi akhoza akuyendera m'njira zosiyanasiyana, ndi zitsanzo m'nkhani ino si chomaliza kokha kusankha. Choncho, pa nkhani iliyonse, tidzakhalanso kupereka mndandanda wa amafuna kuti ayenera kumwedwa nkhani pamene mapulogalamu ndi kukhazikitsa yeniyeni zikudalira pa mapulogalamu a.
Choncho mawu amene ayesa imelo zomveka, tiyenera kuonanso zinthu zotsatirazi:
- Kukhalapo mu poyambira mzere @ chizindikiro, ndipo palibe mipata.
- Ankalamulira mbali ya adiresi ya @ chizindikiro, lili okha chomveka otchulidwa maina ankalamulira. N'chimodzimodzinso ndi dzina la malangizo.
- Pamene poona lolowera n'kofunika kudziwa pamaso pa anthu otchulidwa wapadera monga apostrophe kapena mzere umodzi. zizindikiro chotero zitha kuchititsa ngozi ndipo akhoza ali kotereku kuukira kuti SQL-jekeseni. Pewani maadiresi.
- usernames kulola yekha ina yomwe si khalidwe loyamba kapena lomaliza chingwe.
- The ankalamulira dzina ayenera muli zilembo zoposa zisanu osachepera awiri ndi ayi.
Mwachitsanzo, kutenga nkhani zonse zizichitika Tingaone mu chithunzi chotsatirachi.
Kutsimikiza wa ulalo
Ntchito. Onani ngati mwachindunji mawu chingwe ndi zomveka adiresi ulalowu. Apanso, tiona kuti mawu zonse ulalo-macheke akhoza akuyendera m'njira zosiyanasiyana.
Kusankha. Baibulo womaliza ali motere:
/^(https?:\/\/)?([\da-z\.-]+)\.([az\.]{2,6})([\/\w \ .-] *) * \ /? $ /
Ndiyeno ganizirani zigawo zake mwatsatanetsatane ntchito zojambula.
| amanena 1 | Pamaso ulalo sayenera otchulidwa iliyonse |
| Funsani 2 | Chongani kukhalapo kwa manambala oyambirira kuvomerezedwa «HTTP» |
| item 3 | Pasakhale zizindikiro |
| Funsani 4 | Ngati pali «m», mfundo ulalo kulumikiza wotetezedwa «https» |
| Funsani 5 | Amafuna gawo la "//" |
| Funsani 6 | No otchulidwa |
| p. 7-9 | Kutsimikiza ndi woyamba mlingo ankalamulira ndi kukhalapo kwa mfundo |
| p.10-13 | Kutsimikiza ankalamulira yolembera mlingo wachiwiri ndi mfundo |
| p.14-17 | Wapamwamba kapangidwe ulalo - akonzedwa a manambala, makalata, kukutsimikizira, dashes, madontho, ndi slash kumapeto |
Chongani nambala ngongole
Ntchito. Muyenera kukhazikitsa kutsimikiza kwa analowa ngongole chiwerengero cha machitidwe malipiro ambiri. A zosinthika okha makadi Visa ndi MasterCard.
Kusankha. Polenga akuti muyenera kuganizira pamaso zotheka kwa mipata mu chipinda athandizira. The manambala pa mapu anawagawa m'magulu chifukwa kuwerenga mosavuta ndi pakamwa. Choncho, mwachibadwa kuti munthu akhoza kuyesa lowetsani nambala motere (ie. E. Kugwiritsa mipata).
Lembani mawu onse ndipo amaganizira mizereyi nkotheka kapena hyphens, imavuta amangozindikira kutaya anthu onse kupatula manambala. Choncho, ife amalangiza ntchito wildcard akuti / D, amene amachotsa anthu onse kupatula manambala.
Tsopano inu mukhoza kupita mwachindunji nambala cheke. makampani onse, ngongole issuers ntchito yapadera chiwerengero mtundu. Mu chitsanzo izo ntchito ndi kasitomala sayenera kulowa dzina la kampani - amaonekera ndi chiwerengero. makadi Visa nthawi kuyamba ndi manambala 4 ndipo ndi kutalika kwa manambala 13 kapena 16. MasterCard akuyamba mu osiyanasiyana 51-55 ndi chiwerengero yaitali 16. Chifukwa, ife kupeza mawu otsatirawa:
Pamaso processing kuti akhoza kunayesedwa kwa manambala lotsiriza la nambala yomwe ndi kuchita masamu pa Luhn aligorivimu.
Kutsimikiza nambala ya foni
Ntchito. Poona kulondola kwa analowa nambala ya foni.
Kusankha. chiwerengero cha manambala mu manambala atathana ndi mafoni a m'manja osiyana kwambiri malingana ndi dziko, konsekonse kotero onani mawu zonse, nambala ya foni molondola zosatheka. Koma manambala mayiko ndi mtundu okhwima ndi changwiro kwambiri poona chitsanzo. Ngakhale kwambiri moti zambiri national ntchito telefoni akuyesera kukumana mofanana. Malo dongosolo ili:
+ CCC.NNNNNNNNNNxEEEE, kumene:
- C - ndi dziko malamulo operekedwa manambala 1-3.
- N - chiwerengero kwa manambala 14.
- E - optional magetsi.
Plus ndi mbali yofunika, ndi chizindikiro X alipo yekha likafunika magetsi.
Chifukwa tili ndi mawu awa:
^ \ + [0-9] {1,3 } \ [0-9] {4,14}. (:. × +)? $
manambala mu uthunthu
Ntchito. M'pofunika kuonetsetsa mwangozi inteja a osiyanasiyana ena. Komanso, m'pofunika kupeza mawu zonse yekha manambala kuyambira osiyanasiyana.
Kusankha. Nawa mawu ochepa kuti ena milandu ambiri:
| Kudziwa ora kuchokera 1 mpaka 24 | ^ (1 [0-2] | [1-9]) $ |
| Tsiku m'mwezi 1-31 | ^ (3 [01] | [12] [0-9] | [1-9]) $ |
| Masekondi kapena mphindi 0-59 | ^ [1-5] [0-9] $ |
| chiwerengero A kuchokera 1 mpaka 100 | * (100 |? [1-9] [0-9]) $ |
| Tsiku la chaka 1-366 | ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |? [1-9] [0-9]) $ |
Search IP-maadiresi
Ntchito. M'pofunika kudziwa ngati chingwe wakupatsani chomveka IP-adiresi mu IPv4 mtundu mu osiyanasiyana kuchokera 000.000.000.000-255.255.255.255.
Kusankha. Mofanana ndi vuto lililonse m'chilankhulo cha Php, mawu zonse ali ambiri varintov. Mwachitsanzo, ichi:
Online macheke mawu
Chongani regex molondola kwa oyamba kumene kungakhale kovuta chifukwa cha kuchulukitsa kwa malembedwe, amene isiyana "zonse" zilankhulo mapulogalamu. Kuti athetse vutoli, pali zambiri Intaneti testers mawu kophweka onani kulondola ya M'manja munalenga m'lembali weniweni. The mapulogalamu akulowa akuti ndi kutsimikizira deta ndiponso yomweyo kuona zotsatira za processing. Kawirikawiri pali azipereka gawo maumboni, amene mwatsatanetsatane mawu zonse, zitsanzo ndi kusiyana kukhazikitsa m'zinenero kwambiri yaitali.
Koma zotumikira kukhulupirira Intaneti zotsatira osavomerezeka chifukwa kutukula onse amene amagwiritsa ntchito Php. Mawu zonse zinalembedwa ndi kutsimikizika mu munthu, kuwukitsa Choyenereza ndi chitsimikizo pakalibe zolakwika.
Similar articles
Trending Now