کامپیوتربرنامه نویسی

پی اچ پی (عبارت منظم) - آنچه در آن است؟ مثال ها و چک کردن عبارات منظم

در هنگام کار با متن در هر زبان برنامه نویسی مدرن، توسعه دهندگان به طور مداوم با اهداف اعتبار سنجی ورودی برای انطباق با الگوی مورد نظر را برآورده، جستجو و جایگزینی قطعات آزمون و انواع دیگر از عملیات پردازش اطلاعات شخصیت. توسعه الگوریتم های اعتبار سنجی خود را منجر به از دست دادن زمان، سازگاری کد و پیچیدگی در توسعه و نوسازی آن است.

توسعه سریع اینترنت و طراحی وب سایت به زبان با حداقل مقدار مورد نیاز برای این کد نیاز به ایجاد ابزار همه کاره و جمع و جور پردازش متن. این قاعده مستثنی است و در میان مبتدیان و توسعه دهندگان حرفه ای از زبان پی اچ پی محبوب است. زبان عبارت منظم به عنوان قالب متن به ساده کردن کار از دست زدن به متن و کاهش کد برای ده ها و صدها خط. بسیاری از مشکلات می تواند در تمام بدون آن نمی تواند حل شود.

عبارات منظم در PHP

زبان پی اچ پی دارای سه مکانیسم برای کار با عبارات منظم - «ereg»، «mb_ereg» و «باردار». شایع ترین رابط «باردار»، که توابع دسترسی به کتابخانه PCRE پشتیبانی از عبارات منظم، در اصل برای زبان پرل، است که در بسته های پی اچ پی شامل توسعه یافته است. باردار به دنبال توابع در یک تطبیق رشته متن داده شده، با توجه به یک الگوی خاص در زبان عبارات منظم.

مبانی نحو

به عنوان بخشی از یک مقاله کوتاه غیر ممکن است به توصیف جزئیات در کل از عبارات منظم، برای این است ادبیات خاص وجود دارد. ما در حال حاضر تنها عناصر اصلی برای نشان دادن فرصت ها برای توسعه و درک نمونه کد.

در پی اچ پی عبارت منظم به طور رسمی تعریف شده بسیار دشوار است، و به همین دلیل ساده شرح. یک عبارت منظم یک رشته متن است. آن را از یک قالب جدا اختصاص داده شده و اصلاح نشان می دهد راه را برای رسیدگی به آن تشکیل شده است. گنجاندن ممکن است در گزینه های مختلف و تکرار الگوهای.

برای مثال، در بیان / \ D {3} - \ D {2} - \ D {2} / متر تقسیم است "/"، به دنبال قالب، و نماد «متر» اصلاح است.

همه قدرت از عبارات منظم کد گذاری شده است با استفاده از متا کاراکتر. "\" - که متاکاراکتر زبان اصلی بک اسلش است. آن را تغییر نوع شخصیت های زیر در مقابل (یعنی E. به یک از کلمات شخصیت های معمولی و بالعکس تبدیل). یکی دیگر از متاکاراکتر مهم است یک خط مستقیم «|»، قالب جایگزین مشخص می کند. نمونه های بیشتری از متا کاراکتر:

^ شروع شی و یا یک رشته
( شروع subpattern
) subpattern پایان
{ سور شروع
} سور پایان
\ D رقم دهدهی از 0 تا 9
\ D هر کاراکتری که یک عدد نیست
\ بازدید کنندگان نماد خالی، فاصله، tab،
\ W فرهنگ لغت نماد

پی اچ پی، پردازش عبارات منظم، فضا به عنوان یک شخصیت معتبر جدا در نظر گرفته، به طوری که بیان XYZ و ABC کجاست متفاوت است.

subpatterns

در پی اچ پی subpatterns به طور منظم توسط پرانتز، و گاهی "عبارات همگی" نامیده می شود. انجام وظایف زیر:

  1. جایگزین تخصیص. به عنوان مثال، الگوی حرارتی (چیزی | پرنده |) همزمان با کلمات "گرما"، "فایر فاکس" و "گرم" است. و بدون براکت آن را تنها یک رشته خالی، "پرنده" و "گرم" است.

  2. "دیدنی" subpattern. این به این معنی که اگر الگوی زیر رشته همسان، سپس تمام مسابقات را برمی گرداند. به وضوح، ما یک مثال بزنم. با توجه به عبارت منظم زیر است: برنده دریافت ((طلا | طلا اندود) (مدال | فنجان)) - و رشته برای مسابقات، "برنده می شود یک مدال طلا." علاوه بر این به عبارت اولیه، نتایج جستجو صادر خواهد شد: "مدال طلا"، "مدال"، "طلا".

اپراتورها تکرار (kvadrifikatory)

در تدوین عبارت منظم است که اغلب لازم برای تجزیه و تحلیل تکرار اعداد و نمادها. این یک مشکل، اگر نه بسیاری از تکرار است. اما چه باید بکنید هنگامی که ما تعداد دقیق خود را نمی دانید؟ در این مورد لازم است به استفاده از فوق کاراکترها خاص است.

برای توضیحات از تکرار استفاده kvadrifikatory - فوق کاراکترها برای مشخص کردن تعداد. Kvadrifikatory دو نوع هستند:

  • مشترک در داخل پرانتز؛
  • کاهش می یابد.

سور کلی لمس شده توسط تعدادی حداقل و حداکثر عنصر تکرار اجازه در قالب دو عدد را در پرانتز، مثل x {2،5}. اگر حداکثر تعداد تکرار شناخته شده نیست، آرگومان دوم مشخص نشده است: X {2}.

سورها به صورت مختصر علامت برای رایج ترین تکرار به منظور جلوگیری از اضافه بار نحو غیر ضروری هستند. معمولا سه کاهش وجود دارد:

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

2. + - یک یا چند تکرار، به عنوان مثال، {1} ...

3.؟ - صفر یا تنها یک تکرار - {0،1}.

نمونه هایی از regex

برای کسانی که یادگیری عبارات منظم، نمونه - بهترین کتاب. ما به چند که فرصت های خود را نشان می دهد با حداقل تلاش. تمام کد به طور کامل با نسخه های 4.x و PHP و بالاتر سازگار است. به طور کامل درک نحو و استفاده از همه ویژگی های زبان توصیه می کنیم این کتاب توسط J .. فریدل، "عبارات منظم"، که به طور کامل نحو در نظر گرفته، و نمونه هایی از عبارات منظم نه تنها PHP بلکه برای پایتون، پرل، MySQL، جاوا، روبی، و C # وجود دارد.

اعتبار سنجی آدرس ایمیل

وظیفه. یک صفحه اینترنت که در آن بازدید کننده درخواست آدرس ایمیل وجود دارد. عبارت منظم باید از صحت آدرس قبل از ارسال پیام های تیک بزنید. بررسی تضمین نمی کند که صندوق پستی مشخص شده در واقع وجود دارد و پیام دریافت می کند. اما علف هرز از آدرس بدیهی است اشتباه می تواند.

تصمیم گیری. همانطور که با هر زبان برنامه نویسی، پی اچ پی در تایید آدرس ایمیل عبارت منظم را می توان در راه های مختلف اجرا و نمونه در این مقاله انتخاب نهایی و نه تنها. بنابراین، در هر مورد، ما باید یک لیست از الزامات است که نیاز به در نظر گرفته شود در هنگام برنامه نویسی و پیاده سازی خاص بستگی دارد به طور کامل در توسعه فراهم می کند.

بنابراین، بیان که آزمون یک ایمیل معتبر، باید شرایط زیر را بررسی کنید:

  1. حضور در خط شروع به علامت @، و هیچ شکاف وجود دارد.
  2. بخش دامنه آدرس از علامت @، تنها حاوی نویسه های معتبری برای نام دامنه. همین امر به نام کاربر.
  3. زمانی که می خواهید نام کاربری برای تعیین حضور از کاراکترهای خاص لازم است مانند علامت و یا خط عمودی است. چنین علامت به طور بالقوه خطرناک است و می تواند در چنین نوع از حملات که SQL تزریق موجود است. اجتناب از آدرس.
  4. نام های کاربری اجازه می دهد تنها یک نقطه، که ممکن است شخصیت اول یا آخر در رشته نیست.
  5. نام دامنه باید حداقل دو و بیش از شش کارکتر باشند.

به عنوان مثال، با توجه به همه ی این شرایط می توان در شکل زیر دیده می شود.

اعتبار سنجی از یک URL

وظیفه. بررسی کنید که آیا رشته متن مشخص شده معتبر است URL آدرس. یک بار دیگر، توجه داشته باشید که عبارات منظم URL چک کردن را می توان در شیوه های مختلف اجرا شده است.

تصمیم گیری. نسخه نهایی ما این است که به شرح زیر:

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

حالا اجزای آن در جزئیات بیشتر با استفاده از نقاشی تجزیه و تحلیل.

1 قبل از URL باید هر کاراکتر ندارد
ادعای 2 بررسی حضور پیشوند اجباری «HTTP»
آیتم 3 باید علامت وجود داشته باشد
ادعای 4 اگر وجود دارد «S»، که URL به یک اتصال امن «HTTPS»
ادعای 5 بخش مورد نیاز از "//"
6 هیچ شخصیت
ص 7-9 بررسی دامنه سطح اول و حضور نقطه
p.10-13 بررسی دامنه نوشتن در سطح دوم و نقطه
p.14-17

URL ساختار فایل - مجموعه ای از اعداد، حروف، زیرخط، خط تیره، نقطه، و یک اسلش در انتهای

بررسی شماره کارت اعتباری

وظیفه. شما نیاز به پیاده سازی اعتبار سنجی از وارد کردن شماره کارت اعتباری از سیستم های پرداخت بیشتر است. یک نوع تنها برای کارت های ویزا و مستر.

تصمیم گیری. هنگام ایجاد بیان شما نیاز به حساب حضور احتمالی شکاف در اتاق ورودی. ارقام در نقشه ها به دو گروه برای خواندن و دیکته آسان تر تقسیم شده است. بنابراین، طبیعی است که یک فرد می توانید سعی کنید به وارد کردن شماره در این راه (یعنی E. با استفاده از فاصله).

ارسال نامه بیان جهانی است که به حساب فضاهای ممکن و یا خط فاصله، پیچیده تر از سادگی به جز رقم دور انداختن تمام حرف می باشد. بنابراین، توصیه می کنیم با استفاده از یک عبارت از کلمات / D، که حذف تمام صفات به جز رقم است.

حالا شما می توانید به طور مستقیم به تعداد چک است. همه شرکت ها، صادر کنندگان کارت اعتباری با استفاده از یک قالب شماره منحصر به فرد. در مثال از آن استفاده شود، و مشتری نیازی به وارد کردن نام شرکت - آن است که توسط تعدادی تعیین می شود. کارت های ویزا همیشه با اعداد 4 شروع و به طول 13 یا 16 رقم. مسترکارت در محدوده 51-55 با یک شماره طولانی 16. در نتیجه آغاز می شود، ما عبارت زیر را دریافت کنید:

قبل از پردازش سفارش می تواند بیشتر آخرین رقم از تعداد، است که در الگوریتم Luhn محاسبه تست شده است.

تایید شماره تلفن

وظیفه. چک کردن صحت شماره تلفن وارد شده است.

تصمیم گیری. تعداد ارقام در شماره تلفن های ثابت و همراه متفاوت است، بطور قابل توجهی بسته به کشور، تا جهانی بررسی استفاده از عبارات منظم، شماره تلفن صحیح غیر ممکن است. اما شماره های بین المللی یک فرمت سخت و مناسب برای چک کردن الگوی. حتی بیشتر از آن که بیشتر و بیشتر اپراتورهای تلفن ملی در حال تلاش برای دیدار با استاندارد است. ساختار اتاق به شرح زیر است:

+ CCC.NNNNNNNNNNxEEEE، که در آن:

- C - کد کشور متشکل از 1-3 رقم است.

- N - تعداد تا 14 رقم.

- E - پسوند اختیاری است.

به علاوه یک عنصر ضروری است، و علامت X در حال حاضر تنها زمانی که پسوند مورد نیاز است.

به عنوان یک نتیجه ما باید عبارت زیر

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

اعداد در محدوده

وظیفه. آن را برای اطمینان عدد صحیح تصادفی از یک محدوده خاص لازم است. علاوه بر این، لازم است برای پیدا کردن یک عبارت منظم تنها اعداد از محدوده.

تصمیم گیری. در اینجا چند عبارت به برخی از موارد شایع:

تعیین ساعت از 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 آدرس

وظیفه. این برای تعیین اینکه آیا یک رشته داده شده معتبر آی پی آدرس های IPv4 در فرمت در محدوده 000.000.000.000-255.255.255.255 است ضروری است.

تصمیم گیری. همانطور که با هر مشکل در زبان پی اچ پی، عبارت منظم است بسیاری از varintov. برای مثال، این:

چک کردن آنلاین از عبارات

بررسی عبارت منظم به درستی برای مبتدیان می تواند مشکل به دلیل پیچیدگی از نحو، که از "عادی" زبان های برنامه نویسی متفاوت است. برای حل این مشکل، بسیاری از عبارات تست آنلاین است که آن را آسان به بررسی صحت قالب شما در متن واقعی ایجاد وجود دارد. برنامه نویس وارد بیان و تأیید اطلاعات و بلافاصله نتیجه از پردازش را ببینید. معمولا در حال حاضر یک بخش مرجع، که جزئیات عبارات منظم، مثال ها و تفاوت های پیاده سازی برای زبان های طولانی ترین وجود دارد.

اما به خدمات آنلاین به طور کامل اعتماد نتایج برای همه توسعه دهندگان که استفاده از پی اچ پی توصیه نمی شود. یک عبارت منظم نوشته شده است و تایید در فرد افزایش می دهد مدرک تحصیلی و تضمین عدم وجود خطا است.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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