کمپيوټرپروګرام

PHP (regex) - دا څه دي؟ مثالونه او کتلو منظم څرګندونې

کله چې د متن سره د پروګرامونو د هر عصري ژبه کار، پرمختگپالونکي د پرله سره سره د مطلوبه بېلګه د مطابقت د آخذه د اعتبار د اهدافو د پوره کولو، پلټنه او ازموينه د ټوټو او د کرکټر د معلوماتي عملیاتو د پروسس د نورو ډولونو په ځای. خپل اعتبار الگوريتم پراختیا د وخت له لاسه، په خپلو پراختیا او عصري کولو د کوډ د توافق او پیچلتیا لامل ګرځي.

د انټرنټ او ویب ډیزاین ژبو چټک پرمختګ سره د لږ تر لږه اندازه د دغه کوډ د اړتیا د د متن د پروسس هراړخیزو او د تړون وسيلې د جوړولو ته اړتيا لري. دا نه استثنا ده او لومړنیو او د PHP ژبې مسلکي پرمختگپالونکي په منځ کې مشهور دي. د څرګندنې د ژبې په توګه د متن کينډۍ د متن د سمبالولو دنده په ساده او د لسګونو او کرښو څخه په سلګونو کوډ کم کړي. ډېرې ستونزې په ټولو پرته له دا نه شي حل شي.

په PHP منظم توضیحات

«ereg»، «mb_ereg» او «preg» - PHP ژبې لپاره سره منظم څرګندونې کار درې میکانیزمونه لري. ډېر عام دی چې د ليدنمخ «preg»، چې د دندې په وړاندې د PCRE څرګندنې د ملاتړ، په اصل کې د د Perl ژبه، په PHP بسته چې شامل جوړ کړی چې ته لاسرسی لري. په یوه ورکړل متن تار مطابقت دندو ته د منظم څرګندونې د ژبې يو بيلګه مخې Preg غوښتونکو،.

العروض اساسات

لکه څنګه چې د یوه لنډه لیکنه کې برخه دا ناشونې ده چې په تفصیل سره تشریح ټول څرګندنې د العروض، ددې کار لپاره يو خاص ادبياتو شتون لري. موږ يوازې د اصلي عناصرو د شتون لپاره د پراختیا د فرصتونو وښيي او د کوډ مثالونو پوه شي.

په PHP څرګندنې د ده په رسمي توګه تعریف ډیر ستونزمن او له همدې امله د Description ساده کوي. يو ساده څرګندنې د يو متن سلسله. دا تشکيل د يوې ډالۍ بېلند کېنډۍ او د بدلوونی څرګندونه لاره سمبال کړي دا. په مختلفو بديل او د نمونو تکرار ممکنه شاملول.

د مثال په توګه، په بيان / \ d {3} - \ d {2} - \ d {2} / M وېشلې ده "/"، ورپسې د کېنډۍ له خوا، او د سمبول «M» د بدلوونی ده.

د منظم څرګندونې د ټول واک ده کوډييزونو meta-خویونه کاروي. "\" - د ژبې د اصلي metacharacter د backslash ده. دا بدلون د مخالف لاندې خویونه د ډول (يعنې. E. مزج په یوه عادي کرکټر ګڼنښې او برعکس). بل مهم metacharacter ده مستقيمو خطونو «|»، د بديل کېنډۍ په ګوته کوي. د meta-خویونه نور مثالونه:

^ څيز يا يوه سلسله بیا
( subpattern بیا
) پايان subpattern
{ شروع quantifier
} پايان quantifier
\ d لسيال شمېريز له 0 تر 9
\ د D هر کرکټر چې یوه شمېره نه ده
\ s تش سمبول، ساحې، ټب،
\ W سمبول قاموس

PHP، منظم څرګندونې، فضا په توګه په پام يوه جلا د اعتبار وړ شخصیت، نو د XYZ او د ABC د بيان د بېلابېلو دي پروسس.

subpatterns

په PHP له خوا د لېنديو په منظمه توګه subpatterns، او دوی کله کله "subexpressions" نومیږی. د لاندې دندو ترسره کولو:

  1. تخصيص بديل. د مثال په توګه، د ګرمۍ بیلګه (څه | Bird |) سره د خبرو "ګرمۍ" سره برابره ده، "Firebird" او "د تودو". او د قوسونو پرته دا کار به يوازې د يو تش تار، "د مرغانو د" او "د تودو" وي.

  2. "نمایشي" subpattern. دا په دې مانا چې که بیلګه substring نه خوری، نو د ټولو لوبډلو راګرځي. د وضاحت، چې موږ ته يو مثال راوړم. لاندې د منظمو بيان کې نیولو سره: د ګټونکي ترلاسه ((د سرو زرو | د سرو زرو پوښل) (مډال | جام)) - او د لوبې د تار، "د ګټونکې شوه د سرو زرو مډال." د لومړنۍ عبارت برسیره، د لټون پایلې به صادر شي: "د سرو زرو مډال"، "مډالونه"، "د سرو زرو".

Operators د تکرار (kvadrifikatory)

په منظم ډول د بيان د تالیف ته ضروري ده معمولا د شمېر او سمبولونه د تکرار تحلیل. دا يوه ستونزه ده، که نه د تکرار ډېر نه ده. خو کله چې موږ د دوی د کره شمېر نه پوهېږم چې څه وکړم؟ په دې صورت کې دا ضروري ته ځانګړي metacharacters ګټه ده.

د تکرار kvadrifikatory کارول یو Description - د شمیر مشخص metacharacters. Kvadrifikatory په دوه ډوله دي:

  • په قوسونو عام؛
  • کم.

په ټولیز ډول quantifier راکاوه د په قوسونو کې دوه شمیرې، لکه x {2،5} په بڼه د اجازه تکرار عنصر اعظمي او کم حد شمېر له خوا. که د تکرار اعظمي شمېر معلوم نه دی، په دوهم دليل نه دی مشخص: • د {2}.

کیدنی quantifiers دي تر څو د غیر ضروري ډیروالی العروض د مخنيوي لپاره د تکرار تر ټولو عام سمبولونه. معمولا درې انټرنيټ د شته دي:

1. * - د صفر یا زیات تکرار، چې معادل {0،} ده.

2. + - يو يا زيات تکرار، يعنې د، {1} ...

3.؟ - د صفر او یا یوازې یو تکرار - {0،1}.

مثالونه regex

د هغو کسانو لپاره چې په منظم ډول څرګندونې، مثالونو زده - غوره درسي کتاب. موږ د يو څو چې سره د هڅو د لږ تر لږه د خپلو فرصتونو وښيي ورکړي. ټول کوډ دی سره د PHP 4.x او پورته نسخې په بشپړه توګه متوافقت. د ژبې د ټولو بڼې موږ له خوا J .. Friedl، "منظم اظهار ته"، چې په بشپړه توګه په پام کې العروض د کتاب په سپارښتنه د العروض او د کارولو په بشپړه توګه پوه شي، او د منظمو څرګندونې نه يوازې د PHP، لپاره، بلکه د یو Python، Perl، مای، جاوا، ياقوتو، او C # مثالونه هم شته دی.

اعتبار پست برېښلیک پته

کاري. د انترنت پاڼه چې د مېلمانه پر آدرس ایمیل وغوښتله. څرګندنې باید د ادرسونو د صحيح پېغامونه لیږلو مخکې وګورئ. چيک نه ضمانت چې په حقيقت کې د مشخص ليارې کې موجوده ده او پیغامونه تر السه کوي. خو څرګنده غلط ادرسونو چې کولای شي ليکې.

د پریکړې. لکه د هر ډول پروګرامونو ژبه، په PHP کې د مختلفو لارو regex ایمیل ادرس تایید پلي شي، او په دې ليکنه کې د بېلګې په وروستۍ او یوازې انتخاب نه دي. له همدې امله، په هر صورت، موږ بايد د غوښتنې چې باید پام کې ونیول شي پروګرامونه کله او ځانګړو پلي کولو پر پراختیا په بشپړه توګه تړاو لري يو لست برابر کړي.

په دې ډول، د بيان چې یو باوري برېښنالیک ازموېنې، بايد د لاندې شرايطو وګورئ:

  1. په پیل د حضور د کرښې د @ سمبول، او نه تشې شته دي.
  2. د @ سمبول پته چې دعامه برخه ده، چې دعامه نومونو لپاره یوازې د اعتبار وړ خویونه لري. همدغه د کارونکي نوم تطبيق وړ دي.
  3. کله چې د کارن-نوم د کتلو د ځانګړو تورو د شتون په ګوته ضروري ده لکه د apostrophe یا عمودی کرښی څخه. دا ډول سمبولونه په بالقوه توګه خطرناک دي او کیدای شي د هغه بریدونه چې د ايس کيو ايل د پیچکاریو داسې ډول شامل شي. ادرسونو ډډه وشي.
  4. د کارنانو نومونه اجازه یوازې یو ټکی، چې کېدای شي په تار د لومړي یا وروستی لوښه نه وي.
  5. د ډومېن نوم بايد لږ تر لږه دوه او نه د شپږو څخه زيات خویونه لري.

مثال په توګه، په پام کې نیولو د دغو شرايطو ټول کولی شي په لاندې شکل کې لیدل کیږي شي.

د یوه د URL اعتبار

کاري. وګورئ چې آيا د مشخص متن تار يو د اعتبار وړ پته URL. یو ځل بیا، موږ ياد ولرئ چې په منظم ډول څرګندونې په حافظی-کتل په مختلفو لارو پلي شي.

د پریکړې. زموږ په وروستۍ نسخه په لاندې ډول ده:

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

اوس په ډیر تفصیل سره د خپلو برخو د رسامۍ په کارولو تحلیل.

ادعا 1 وړاندې له دې چې په حافظی باید کوم خویونه نه لري
ادعا 2 د اجباري مختاړی د شتون په چک «http»
توکی 3 شته باید نه سمبولونه وي
ادعا 4 که «د»، د URL د يوه خوندي تړاو ټکي «https»
ادعا 5 د اړتیا وړ برخه د "//"
ادعا 6 نه خویونه
مخ. 7-9 د تثبیت لپاره لومړی کچه دعامه استعمال او د ټکی په حضور کې
p.10-13 د دویم کچه او د ټکی په لیکلو د ډومېن د تثبیت
p.14-17

د دوتنې جوړښت په حافظی - چې د شمېرو او تورو، تاکيد، د سيلن، خالونو د ټاکلو، او په پای کې د يو مخرېوند

د کریدت کارت د شمېرو کتنه

کاري. تاسو ته اړتيا لري ترڅو د پیسو تر ټولو عام سیستمونو د کریدت کارت ته ننوتل شمېر اعتبار پلي کړي. یوازې د کارتونو د يو variant د ویزی او MasterCard.

د پریکړې. کله چې د بيان د جوړولو تاسو باید په پام کې آخذه د په خونه کې د تشې د ممکنه حضور واخلي. د نقشې له ګڼې لپاره د اسانه لوستلو او dictation په ګروپونو ويشل شوي دي. له همدې امله، دا طبیعي ده چې یو کس کولای شي هڅه وکړي چې په دې لاره د یو شمیر (يعنې. E. کارولو ځایونو) ته ننوځي.

يو نړيوال بيان چې د امکان ځایونو یا hyphens په پام کې نیسي ولیکئ، زيات پېچلی دی څخه په ساده ډول د ټولو تورو ګڼې پرته پرېښودل. له همدې امله، موږ پځای بيان / D، چې ګڼې پرته د ټولو تورو لرې د کارولو سپارښتنه.

اوس تاسو کولای شي چې د چک د شمېر په مستقيمه توګه ولاړ شي. ټول شرکتونه، کریدت کارت کيدلو یو بې ساری شمیر بڼه وکاروئ. د مثال په توګه دا کارول، او د رجوع دې ته اړتيا نه د شرکت نوم ولیکۍ - دا د شمېر له خوا ټاکل کيږي. د ویزی د کارتونو تل سره شمېر 4 پیل او د 13 یا 16 ګڼې په اوږدوالي لري. په سره اوږد شمېر 16. په پایله کې د 51-55 لړ MasterCard پيل شو، موږ په لاندې بيان د ترلاسه:

په امر د پروسس مخکې کولای شي د شمېر، چې د ده په Luhn الګوریتم محاسبه تېر ګڼې ازمویل.

د تثبیت لپاره د ټيليفون شمېره

کاري. د داخل د ټيليفون شمېره د صحيح ګوري.

د پریکړې. د په ثابت او ګرځنده ټیلیفون شمېره ګڼې شمير توپير د پام وړ په هېواد پورې اړه لري، نو په نړیواله منظم څرګندونې په کارولو سره، د ټیلفون شمیره په سمه توګه ناشونی وګورئ. خو د نړيوالو شمېرو لپاره بیلګه کتلو يو سخت شکل او کامل لري. نور هم وکړو چې نور او نور ملي ټیلیفون متصدیانو هڅه کوي چې د همدې معيار پوره کړي. خونه د جوړښت په لاندې ډول دی:

+ CCC.NNNNNNNNNNxEEEE، چې:

- د C - د هېواد په کوډ د 1-3 ګڼې شامل دی.

- N - شمېر تر 14 ګڼې.

- E - اختیاري غځول.

جمع یوه لازمی عنصر دی، او د ننوتنه یا ساین اېن X حاضر يوازې هغه مهال د ترويج د اړتيا ده.

په پایله کې موږ په لاندې بيان لري:

^ \ + [0-9] {1،3 } \ [0-9] {4،14}. (:؟. x +)؟ $

په لړ د شمېر

کاري. دا ضروري ده تر څو د يو لړ تصادف integer. برسېره پر دې، دا ضروري ته په منظمه توګه د بيان يوازې د لړ څخه د شمېر د موندلو ده.

د پریکړې. دلته د ټولو عام مواردو کې ځينې يو څو څرګندونې عبارت دي له:

له 1 تر 24 ساعته معلومول ^ (1 [0-2] | [1-9]) $
په همدې میاشت کې 1-31 ورځ ^ (3 [01] | [12] [0-9] | [1-9]) $
ثانیو یا دقیقو 0-59 ^ [1-5]؟ [0-9] $
يو له 1 څخه تر 100 شمیر * (100 |؟ [1-9] [0-9]) $
د 1-366 کال ورځ ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |؟ [1-9] [0-9]) $

د لټون IP-پتې

کاري. دا ضروري ده چې معلومه کړي چې آیا یو ورکول سلسله ده په له 000.000.000.000-255.255.255.255 په لړ کې یو باوري په IPv4 شکل د IP ادرس.

د پریکړې. لکه څنګه چې په کې د PHP ژبې کومه ستونزه، چې په منظمه توګه د بيان لري څو varintov. د مثال په توګه، د دې:

د اظهار لائن کتل

سمه چک regex لپاره د لومړنیو کولای شي ځکه چې د العروض پیچلتیا، چې له "منظم" پروګرام ژبو توپير ستونزمن وي. د دې ستونزې د حل لپاره، ګڼ شمیر آن لاين testers څرګندونې کوي چې دا آسانه د کونده ستاسو په اصلي متن کې جوړ د صحيح وګورئ لپاره موجود دي. د پروگرامر د بيان او د معلوماتو د تصديق ته داخلیږی او په فوري توګه د پروسس په پایله کې وګورئ. معمولا د ښوونی کړی، چې د تر ټولو پراخه ژبو د منظم څرګندونې، مثالونو او پلي کولو توپيرونه تفصيل وړاندې شتون لري.

خو په بشپړه توګه د باور آنلاین خدماتو ته د پایلو د ټولو پرمختگپالونکي چې PHP استعمال سپارښتنه نده کړې. يو ساده څرګندنې د ده لیکل او په کس تاييد، راپورته وړتوب او د غلطيو د نه شتون تضمين کړي.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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