نمایش نتایج 1 تا 8 از 8

نام تاپیک: آموزش گام به گام عبارات با قاعده

  1. #1
    کاربر دائمی آواتار reza_alie
    تاریخ عضویت
    فروردین 1394
    محل زندگی
    <Tehran/>
    پست
    449

    Post آموزش گام به گام عبارات با قاعده

    بسم الله الرحمن الرحیم
    باعرض سلام و ادب و احترام خدمت همه دوستان برنامه نویس
    بنده در این تاپیک آموزشی قصد دارم عبارت منظم یاRegular Expression خدمت شما دوستان آموزش بدم امیدوارم که مورد پسند شما دوستداران phpواقع بشه.
    (با اجازه مدیریت و همه استاتید محترم)
    نکته:------>ارسال spamممــــــنوع

    تــشکر =رضــــایت

  2. #2
    کاربر دائمی آواتار reza_alie
    تاریخ عضویت
    فروردین 1394
    محل زندگی
    <Tehran/>
    پست
    449

    نقل قول: آموزش گام به گام عبارت منظم در php

    جلسه اول:
    مفهوم عبارات منظم:
    از سایت ویکی پدیا
    در علوم رایانه، عبارت باقاعده، که تحت عنوان regex یا regexp (مخفف عبارت انگلیسی regular expression) نیز نامیده می‌شود به معنی تطبیق رشته در متن است، که از قبیل نویسه‌های خاص، کلمات و الگوهایی از نویسه‌ها می‌باشد. یک عبارت باقاعده با زبان معمولی نوشته می‌شود که می‌تواند توسط یک پردازشگر عبارت باقاعده، یا یک برنامه که به عنوان تولیدکنندهٔ مترجم یا بررسی‌کنندهٔ متن و تشخیص قسمت‌هایی از آن به وسیلهٔ مشخصات استفاده شود.

    این نمونه‌ها می‌توانید قابلیت‌ها محدودی که عبارت با قاعده می‌تواند انجام دهد را نشان دهد:

    • دنباله‌ای از نویسه‌های «car» در هر متن، از قبیل «car»، «cartoon» یا «bicarbonate»
    • لغت «car» در زمانی که به صورت جداگانه استفاده شود
    • لغت «car» وقتی که قبل از «blue» یا «red» آمده باشد
    • یک نویسهٔ «$» که پس از آن یک یا چند رقم بیاید و پس از آن به صورت اختیاری یک ممیز بیاید و پس از ممیز دقیقاً دو رقم اضافه قرار داشته باشد (مانند ‎ «$۱۰»‎ یا ‎ «$۲۴۵٫۹۹»‎)

    عبارت‌های باقاعده می‌توانند خیلی پیچیده‌تر از این مثال‌ها باشند.
    یا علی
    موفق باشید

  3. #3
    کاربر دائمی آواتار reza_alie
    تاریخ عضویت
    فروردین 1394
    محل زندگی
    <Tehran/>
    پست
    449

    نقل قول: آموزش گام به گام عبارت منظم در php

    جلسه دوم
    نحوه نوشتن عبارات منظم در php:


    دستورات در این روش از طریق توالی علامت ها، کلمات، حروف یا کاراکترهای خاصی (مانند [] () + \ *? | , w \W\ 0-9 a-z و...) که هر کدومشون مفهوم خاصی دارن ، تعریف می شن، در واقع از کنار هم قرار گرفتن این علامت ها، دستور ویژه ای شکل گرفته و قسمت خاصی از رشته مورد نظر استخراج یا بررسی می شه.
    مثال:
    به عنوان مثال ما می خواهیم به دنبال reza در عبارت reza_ali in barnamenevis.org بگردیم ببیم اصلا عبارت rezaدر reza_ali in barnamenevis.org وجود دارد یا نه؟
    برای این کار ما از تابع preg match استفاده می کنیم:
    کد:

    <?php
    $str = "reza_ali in barnamenevis.org";
    echo preg_match('/reza/', $str); // output=1
    ?>


    نکته:رشته ای که به دنبال آن می گردیم را در بین //قرار می دهیم
    نکته2:این تابع حساس به حروف کوچک و بزرگ است
    اگه بخواهیم تابع حساس به حروف کوچک و بزرگ نباشد باید به صورت زیر بنویسیم:

    <?php
    $str = "reza_ali in barnamenevis.org";
    echo preg_match('/REza/i', $str); // output=1
    ?>
    موفق باشید
    تشکر =رضایت

  4. #4
    کاربر دائمی آواتار reza_alie
    تاریخ عضویت
    فروردین 1394
    محل زندگی
    <Tehran/>
    پست
    449

    نقل قول: آموزش گام به گام عبارت منظم در php

    جلسه سوم:
    به نام خدا
    برای تفهیم بیشتر به مثال زیر توجه کنید:

    <?php
    $string = "Reza_ali in https://barnamenevis.org";
    echo preg_match('/Reza/', $string); //result is 0
    echo preg_match('/Reza/i', $string); //result is 1
    ?>

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

    <?php
    $string = "1234reza556";
    $check = preg_match('/reza556/', $string); // Result is 1
    echo $check;
    ?>

    خروجی 1می باشد
    حال به مثال زیر توجه کنید:


    <?php
    $string = "1234Reza556";
    $check = preg_match('/reza556/', $string);
    echo $check;
    ?>

    خروجی صفر می باشد برای این که حساس به حروف کوچک و بزرگ می باشد برای این که به حروف کوچک و بزرگ حساس نباشدکاراکترiرا بعد از /قرار می دهیم به صورت زیر:

    <?php
    $string = "1234Reza556";
    $check = preg_match('/reza556/i', $string);
    echo $check;
    ?>

    یاعلی
    موفق باشید
    تشکر=رضایت

  5. #5
    کاربر دائمی آواتار reza_alie
    تاریخ عضویت
    فروردین 1394
    محل زندگی
    <Tehran/>
    پست
    449

    نقل قول: آموزش گام به گام عبارت منظم در php

    با عرض معذرت به علت انجام پروژه طی روز های آینده این آموزش ادامه پیدا می کند
    موفق باشید

  6. #6
    کاربر دائمی آواتار reza_alie
    تاریخ عضویت
    فروردین 1394
    محل زندگی
    <Tehran/>
    پست
    449

    نقل قول: آموزش گام به گام عبارت منظم در php

    سلام خدمت دوستان در این بخش از آموزش کاراکتر براکت [] رو بررسی میکنیم.


    قلاب، کروشه یا bracket کاراکتر دیگری هست که در دستورات با قاعده کابرد زیادی داره، این کاراکتر در نقش دستوری ، یه کاراکتر محدود ساز هست. و فقط کاراکترهای خودشو شامل می شه (در حالت عادی حساس به حروف بزرگ و کوچک هم هست)، فرض کنید [a] تنها شامل رشته ای می شه که دست کم حرف a در آن به کار رفته باشه.

    -> برا تفیهم بیشتر چند نمونه میارم :

    [a] »

    شامل رشته ای می شه که حداقل a در آن به کار رفته باشه، مانند abcd , aadc , bafc و... (به طور مثال شامل bnv ، 232، ccczو... نمی شه).

    [zxn] »

    شامل رشته ای می شه که دست کم z یا x یا n در آن به کار رفته باشه، مثهxzn، regex، zend و... (به طور مثال شامل ZXN، abc، 123 و... نمی شه).

    [a-z] »

    شامل رشته ای می شه که دست کم حروف a تا z (الفبای انگلیسی با حروف کوچک) در اون به کار رفته باشه، مانند Php، Regex، bBbb و... (به طور مثال شامل 1@122، REGEX، 12223 و... نمی شه).

    [A-Z] »

    شامل رشته ای می شه که دست کم حروف A تا Z (الفبای انگلیسی با حروف بزرگ) در اون به کار رفته باشه، مانند PHP، ReGex، BCBBB و... (به طور مثال شامل abbcc، 1223، aca و... نمی شود).

    [0-9] »

    شامل رشته ای می شه که دست کم اعداد 0 تا 9 در اون به کار رفته باشه، مثه 35CC، 666، b122 و... (به طور مثال شامل abcd، p%@&*، aa و... نمی شه).

    [abct-z] »

    شامل رشته ای می شه که حداقل حرف a یا b یا c یا t تا z در اون به کار رفته باشه (دقت کنید که در اینجا چون توالی حروف انگلیسی بهم خورده، علامت - از حرف t به بعد را شامل می شه)، مانند You، bb، abc و... (به طور مثال شامل Yo، 142، de و... نمی شه).

    نکات »
    نکته 1:
    همون طور که در دستورات بالا دیدید، علامت - یک کاراکتر همراهی کننده در عبارات با قاعده (یعنی در کنار سایر علامت ها استفاده می شه) و به معنی "تا" هست.


    نکته 2:
    علامت - در صورتی که در ابتدا یا انتهای دستور قرار بگیره، خاصیت دستوری خودشو از دست می ده، به طور مثال [az-] شامل a یا z یا علامت - می شه(همچنین [-az]).


    نکته 3:
    علامت [ یا ] چنانچه بلافاصله بعد از اولین قلاب قرار بگیره، حالت دستوری خودشو از دست می ده، به طور مثال [zxn[] شامل z یا x یا n و یا علامت [ می شه.




    یا علی
    موفق باشید

  7. #7
    کاربر دائمی آواتار reza_alie
    تاریخ عضویت
    فروردین 1394
    محل زندگی
    <Tehran/>
    پست
    449

    نقل قول: آموزش گام به گام عبارت منظم در php

    سلام خدمت دوستان.

    اعیاد شعبانیه بر همه دوستان مبارک باد

    در این قسمت از آموزش کاراکتر [^] رو بررسی میکنیم.


    در قسمت قبل به بررسی کاراکتر [] پرداختیم و گفتیم که این کاراکتر یه نوع محدود کننده هست در نقش دستوری.

    حال به بررسی کاراکتر [^] میپردازیم.


    در کنار کاراکتر کروشه (قلاب)، کاراکتر کروشه و علامت ^ وجود داره که برعکس حالت قبل هست.یعنی هر کاراکتری جز آنچه درون قلاب تعریف شده است.
    به فرض [m^] شامل رشته ای میشه که به جزء حرف m، کاراکتر دیگه ای توی اون باشه (اگر تنها حرف m باشد، نتیجه FALSE خواهد بود)، یا [acd^] شامل رشته ای می شه که جز حروف a و c و d، کاراکتر دیگه ای نیز داشته باشه.

    چند مثال میزنم :

    [a^] :
    شامل رشته ای می شه که به جز a، کاراکتر دیگه ای در اون به کار رفته باشه، مثه abcd، bagd، accab و... (به طور مثال شامل aaaa، a، aaa و... نمی شه).

    [msn^] :
    شامل رشته ای می شه که به جز m و s و n، کاراکتر دیگه ای در اون به کار رفته شه ، مانند MSN، MASEN، و... (به طور مثال شامل msn، snnn، mmmو... نمی شه).

    [a-z^] :
    شامل رشته ای می شه که به جز حروف a تا z (الفبای انگلیسی با حروف کوچک)، کاراکتر دیگه ای در اون به کار رفته شه، مثه Php، mahdiHidden، ashiyane1و... (به طور مثال شامل php، mahdihidden، bbbb و... نمی شود).

    [A-Z^] :
    شامل رشته ای می شه که به جز حروف A تا Z (الفبای انگلیسی با حروف بزرگ)، کاراکتر دیگه ای در اون به کار رفته باشه، مانند Php، MAHDIHIdDEN، ASHIYANeو... (به طور مثال شامل PHP، ASHIYANE، MAHDIHIDDENو... نمی شه).

    [0-9^] :
    شامل رشته ای می شه که به جز اعداد 0 تا 9، کاراکتر دیگه ای توی اون به کار رفته باشه، مانند 44vC، 22&، m112و... (به طور مثال شامل 222، 555، 123 و... نمی شه).

    :[abct-z^]
    شامل رشته ای می شه که به جز حرف a و b و c و t تا z (با حروف کوچک)، کاراکتر دیگه ای در اون به کار رفته باشه، مانند You، b&b، ab1c و... (به طور مثال شامل u، bb، abc و... نمی شه).
    نکته:
    به حساس بودن دستورات به حروف بزرگ و کوچک دقت کنید.





    یاعلی
    موفق باشید

  8. #8
    کاربر دائمی آواتار reza_alie
    تاریخ عضویت
    فروردین 1394
    محل زندگی
    <Tehran/>
    پست
    449

    نقل قول: آموزش گام به گام عبارت منظم در php

    سلام خدمت دوستان.

    در این قسمت ازآموزش کاراکتر ^ (hat) رو بررسی میکنیم:


    در قسمت قبل به بررسی کاراکتر [^] پرداختیم . در این قسمت کاراکتر ^ (hat) به تنهایی رو مورد بررسی قرار میدیم .

    کاراکتر ^ (شروع) »

    علاوه بر استفاده از کاراکتر ^ (hat) در داخل کروشه، این کاراکتر به تنهایی نیز در دستورات مربوط به عبارات با قاعده کاربرد فراوان داره.

    علامت ^ (خارج از قلاب و در شروع دستور) به معنی نقطه شروع یک رشته هست، به طور مثال دستور mha^ به معنی هر عبارتی هست که از ابتدا با mha شروع شده باشه؛

    بنا بر این رشته ای مثه mha را شامل می شه، اما abcd رو خیر (چون عبارت اول دقیقا با mha شروع شده اما عبارت دوم با abc)/.

    مثال برای تفهیم بیشتر :

    <?php
    $string = 'Rexeg Is Easy!';
    $check = preg_match('/^Rexeg/', $string);
    echo $check;
    ?>




    خروجی دستور بالا برابر 1 یا TRUE خواهد بود، چون عبارت دقیقا با php شروع شده، اما اگه کد به این شکل بود:

    <?php
    $string = 'why Rexeg Is Easy!';
    $check = preg_match('/^Rexeg/', $string);
    echo $check;
    ?>


    خروجی برابر 0 یا FALSE هست، چون در دستور تنها رشته ای رو در نظر گرفتیم که از شروع با عبارت Regex باشه، در حالی که شروع رشته ما با عبارت فرضی why است.

    نکته:
    همون طور که پیش از این ملاحظه کردید، کاربرد علامت ^ درون قلاب با حالت عادی متفاوت است.


    موفق باشید
    تشکر = رضایت

تاپیک های مشابه

  1. آموزش: آموزش گام به گام عبارات منظم در php
    نوشته شده توسط reza_alie در بخش PHP
    پاسخ: 2
    آخرین پست: یک شنبه 16 فروردین 1394, 17:01 عصر
  2. آموزش گام به گام و تصویری فارسی
    نوشته شده توسط handinux در بخش Android Studio
    پاسخ: 66
    آخرین پست: شنبه 05 اسفند 1391, 23:52 عصر
  3. آموزش گام به گام جاوا اسکریپت
    نوشته شده توسط Vahid_moghaddam در بخش طراحی وب (Web Design)
    پاسخ: 11
    آخرین پست: چهارشنبه 08 اسفند 1386, 22:16 عصر
  4. آموزش گام به گام جاوا اسکریپت
    نوشته شده توسط Vahid_moghaddam در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: چهارشنبه 11 بهمن 1385, 13:48 عصر
  5. آموزش گام به گام کار با پلت کامپوننتهای دلفی
    نوشته شده توسط nasr در بخش برنامه نویسی در Delphi
    پاسخ: 15
    آخرین پست: شنبه 30 خرداد 1383, 17:36 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •