با عرض سلام و ادب احترام خدمت همه دوستان بنده در بخش می خواستم regex رو در phpآموزش بدم امیدوارم که مورد پسند همه دوستان واقع بشه
البته با اجازه مهندس شهرکی
موفق باشید
جلسه اول:
پیشاپیش نیمه شعبان مبارک
مفهوم عبارات با قاعده:
از سایت ویکی پدیا
در علوم رایانه، عبارت باقاعده، که تحت عنوان regex یا regexp (مخفف عبارت انگلیسی regular expression) نیز نامیده میشود به معنی تطبیق رشته در متن است، که از قبیل نویسههای خاص، کلمات و الگوهایی از نویسهها میباشد. یک عبارت باقاعده با زبان معمولی نوشته میشود که میتواند توسط یک پردازشگر عبارت باقاعده، یا یک برنامه که به عنوان تولیدکنندهٔ مترجم یا بررسیکنندهٔ متن و تشخیص قسمتهایی از آن به وسیلهٔ مشخصات استفاده شود.
این نمونهها میتوانید قابلیتها محدودی که عبارت با قاعده میتواند انجام دهد را نشان دهد:
دنبالهای از نویسههای «car» در هر متن، از قبیل «car»، «cartoon» یا «bicarbonate»
لغت «car» در زمانی که به صورت جداگانه استفاده شود
لغت «car» وقتی که قبل از «blue» یا «red» آمده باشد
یک نویسهٔ «$» که پس از آن یک یا چند رقم بیاید و پس از آن به صورت اختیاری یک ممیز بیاید و پس از ممیز دقیقاً دو رقم اضافه قرار داشته باشد (مانند «$۱۰» یا «$۲۴۵٫۹۹»)
عبارتهای باقاعده میتوانند خیلی پیچیدهتر از این مثالها باشند.
یا علی
موفق باشید
(10-03-1394، 10:58 ق.ظ)reza_alie نوشته: [ -> ]با عرض سلام و ادب احترام خدمت همه دوستان بنده در بخش می خواستم regex رو در phpآموزش بدم امیدوارم که مورد پسند همه دوستان واقع بشه
البته با اجازه مهندس شهرکی
موفق باشید
خیلی هم خوب. وجود چنین آموزشی قطعاً نیاز خیلی از برنامه نویسان PHP هست. موفق باشید.
جلسه دوم
نحوه نوشتن عبارات منظم در php:
دستورات در این روش از طریق توالی علامت ها، کلمات، حروف یا کاراکترهای خاصی (مانند [] () + *? | , w W 0-9 a-z و...) که هر کدومشون مفهوم خاصی دارن ، تعریف می شن، در واقع از کنار هم قرار گرفتن این علامت ها، دستور ویژه ای شکل گرفته و قسمت خاصی از رشته مورد نظر استخراج یا بررسی می شه.
مثال:
به عنوان مثال ما می خواهیم به دنبال reza در عبارت reza_ali in forum.ncis.ir بگردیم ببیم اصلا عبارت rezaدر reza_ali in forum.ncis.ir وجود دارد یا نه؟
برای این کار ما از تابع preg match استفاده می کنیم:
کد:
<?php
$str = "reza_ali in forum.ncis.ir";
echo preg_match('/reza/', $str); // output=1
?>
نکته:رشته ای که به دنبال آن می گردیم را در بین //قرار می دهیم
نکته2:این تابع حساس به حروف کوچک و بزرگ است
اگه بخواهیم تابع حساس به حروف کوچک و بزرگ نباشد باید به صورت زیر بنویسیم:
<?php
$str = "reza_ali in forum.ncis.ir";
echo preg_match('/REza/i', $str); // output=1
?>
یاعلی
موفق باشید