کمپيوټر, پروګرام
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" نومیږی. د لاندې دندو ترسره کولو:
تخصيص بديل. د مثال په توګه، د ګرمۍ بیلګه (څه | Bird |) سره د خبرو "ګرمۍ" سره برابره ده، "Firebird" او "د تودو". او د قوسونو پرته دا کار به يوازې د يو تش تار، "د مرغانو د" او "د تودو" وي.
"نمایشي" 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 ایمیل ادرس تایید پلي شي، او په دې ليکنه کې د بېلګې په وروستۍ او یوازې انتخاب نه دي. له همدې امله، په هر صورت، موږ بايد د غوښتنې چې باید پام کې ونیول شي پروګرامونه کله او ځانګړو پلي کولو پر پراختیا په بشپړه توګه تړاو لري يو لست برابر کړي.
په دې ډول، د بيان چې یو باوري برېښنالیک ازموېنې، بايد د لاندې شرايطو وګورئ:
- په پیل د حضور د کرښې د @ سمبول، او نه تشې شته دي.
- د @ سمبول پته چې دعامه برخه ده، چې دعامه نومونو لپاره یوازې د اعتبار وړ خویونه لري. همدغه د کارونکي نوم تطبيق وړ دي.
- کله چې د کارن-نوم د کتلو د ځانګړو تورو د شتون په ګوته ضروري ده لکه د apostrophe یا عمودی کرښی څخه. دا ډول سمبولونه په بالقوه توګه خطرناک دي او کیدای شي د هغه بریدونه چې د ايس کيو ايل د پیچکاریو داسې ډول شامل شي. ادرسونو ډډه وشي.
- د کارنانو نومونه اجازه یوازې یو ټکی، چې کېدای شي په تار د لومړي یا وروستی لوښه نه وي.
- د ډومېن نوم بايد لږ تر لږه دوه او نه د شپږو څخه زيات خویونه لري.
مثال په توګه، په پام کې نیولو د دغو شرايطو ټول کولی شي په لاندې شکل کې لیدل کیږي شي.
د یوه د 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