
توی دوره رایگان PHP، هر چیزی که برای حرفهای شدن نیاز داری رو یاد میگیری! از مفاهیم پایه تا پیشرفته، همراه با یه پروژه واقعی برای ساخت یه سایت مثل آپارات.
مشاهده بیشتر
توی این دوره با هم یه وبسایت خبری واقعی رو از صفر میسازیم! از طراحی دیتابیس و احراز هویت تا ساخت API و یه پنل مدیریت حرفهای، همه رو یاد میگیریم و آماده پروژههای واقعی میشی!
مشاهده بیشترمشخصات مقاله
آموزش Regular Expression در php
عبارات عادی {regular expression} چیزی جز سری یا الگویی از خود کاراکتر ها نیستند. آن ها پایه ی قابلیت و توانایی مطابقت با الگو را فراهم می سازند.
با استفاده از این عبارات عادی شما می توانید در داخل یک رشته یا string به دنبال رشته ی دیگری بگردید، یا یک رشته را جایگزین رشته ی دیگر کنید و همچنین یک string را به تکه ها {chunk} های متعدد تقسیم کنید.
PHP عملکردهایی {function} را مختص به دو دسته یا مجموعه تابع عبارات عادی ارائه می دهد، که هر کدام با یک نوع معین از عبارات عادی مطابقت دارد. می توانید از هرکدام که باب میلتان استفاده کنید.
POSIX regular expressions
PERL style regular expression
عبارات عادی POSIX
ساختار این نوع عبارات {regular expression} به ساختار حسابی {arithmetic} معمول بی شباهت نیست، عناصر {عملگر یا { operator گوناگونی باید با هم ترکیب شوند تا عبارات پیچیده تر ساخته شود.
ساده ترین نوع عبارت با قاعده {regular expression} آن است که یک تک کاراکتر، مانند g، در داخل یک رشته {string} مثل g، haggle، bag قرار بگیرد.
اجازه دهید که به تشریح تعدادی از این مفاهیم که در POSIX به کار می رود بپردازیم. پس از معرفی برخی از این مفاهیم، درباره توابع مرتبط با این عبارات بحث خواهیم کرد.
Bracket
این علامت [] هنگامی که در متن و context عبارات عادی {regular expression} به کار می رود، معنای خاصی دارد. از آن ها برای پیدا کردن طیفی از کاراکتر ها استفاده می شود.
طیف های بالا ذکر شده عمومی هستند، همچنین می توانید از طیف ]3-0[ برای مطابقت با هر عدد دهدهی {decimal digits} از 0 تا 3 استفاده کنید، یا از طیف [b-v] برای حروف کوچک از b تا v.
Quantifier {کمیت سنج}
برای نشان دادن تعداد دفعات تکرار یا موقعیت سری کاراکتر {character sequence} های داخل [] و تک کاراکتر ها باید از کاراکتر خاص استفاده کرد. هر یک از این کاراکتر های مخصوص معنای ضمنی {connotation} منحصر به فردی دارد. این علامت ها +، *، ?، {int. range} و $ به دنبال رشته کاراکتر character sequence}} می آیند.
مثال زیر مفاهیم کاراکتر هایی که با هم تطبیق دارند را برای شما روشن می سازد.
طیف کاراکتری از پیش تعریف شده {predefined character range}
برای راحتی هر چه بیشتر شما در برنامه نویسی طیف کاراکتری از پیش تعریف شده متعددی، که با نام character class هم شناخته می شوند، موجود هست. کلاس کاراکترها یک طیف کامل از کاراکترها مثل الفبا یا دسته عدد صحیح {integer set} را تعریف می کند.
PHP's Regexp POSIX function
PHP در حال حاضر هفت عملکرد {function} برای جست و جو در string به کمک عبارات عادی POSIX-style فراهم می کند.
عبارات عادی سبک PERL
عبارات عادی سبک PERL شبیه همپای POSIX خود هستند. از POSIX syntax تقریباً می توان به جای Perl-style regular expression functions {توابع عبارات عادی سبک PERL} استفاده کرد. در واقع، شما می توانید تمام کمیت سنج {quantifier} های معرفی شده در بخش POSIX پیش را به کار ببرید.
هم اکنون توضیح متخصری درباره ی مفاهیم معمول در Perl regular expression می دهیم. سپس، شما را با عملکردهای {function} مرتبط با آن آشنا می سازیم.
Metacharacters {متا کاراکترها}
متا کاراکتر اساساً یک کاراکتر الفبایی {alphabetical} است که به دنبال علامت ' /' می آید و به ترکیب معنای خاصی می دهد.
برای مثال، می توانید با استفاده از متا کاراکتر '\d' ، مبالغ زیاد پول را جستو و جو کنید : /([\d]+)000/.
اینجا \d هر رشته ای که از کاراکتر های عددی تشکیل شده است را جست و جو بررسی می کند.
زیر فهرستی از متا کاراکتر هایی که در PERL Style Regular Expressions به کار می رود را مشاهده می کنید.
Modifiers {اصلاح کنندها}
modifier های متعددی وجود دارند که کار با regexps بسیار آسان می کنند، مثل حساسیت به کوچک و بزرگی {case sensitivity}، توانایی جستو و جو در چند خط همزمان و غیره.
تابع های {function} سازگار Perl PHP'S Regexp
PHP برای جستو و جوی رشته ها {string} به کمک عبارت های عادی سازگار با Perl، عملکرد های زیر را ارائه می دهد.