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

نام تاپیک: دنیای رگولار اکسپرشن Regular expression

  1. #1
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    Thumbs up دنیای رگولار اکسپرشن Regular expression

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

    هر کسی هر چی از کدهای Regular expression داره در اینجا قرار بده تا هم من و بقیه بچه ها از اون استفاده کنند و یک مرجع خوب بشه برای یادگیری و رفع اشکالات.

    دوستان زیادی در انجمن هستند با این موضوع آشنایی دارند که شرکت در این تاپیک باعث دلگرمی ما خواهد شد.



    ====================

    یک توضیحی برای کاربرانی که هنوز آشنایی با این موضوع ندارند:

    عبارات منظم (Regular Expressions) وسیله ای را برای برنامه نویسان فراهم می کنند که بتوان به کمک آنها عبارات ، کلمه ها و الگوها ی مورد نظر را در یک رشته متنی (String) پیدا کرد.


    Regular Expressions دارای یک سری سینتکس های مربوط به خود است که به کمک آن می توان تنها با نوشتن یک خط کد، یک رشته ی بزرگ متنی را تحلیل و جستجو کرد در حالی که اگر از روشهای دیگری استفاده می کردیم به احتمال خیلی زیاد از یک خط تجاوز می کرد . و این سادگی و در عین حال کارایی بالای این روش را می رساند .


    Regular Expressions محدود به یک زبان خاص نیست و اکثر زبانهای برنامه نویسی این امکان را درون خود قرار داده اند . عبارات منظم توسط یک پردازنده که درون زبان برنامه نویسی وجود دارد تفسیر (interpret) می شوند .


    عبارات منظم استفاده های زیادی در برنامه های کاربردی مختلف دارد . توسط بسیاری از ادیتورها (Text Editor) برای انجام اعمال مختلف بر روی رشته ها مورد استفاده قرار می گیرد . همچنین در بعضی از زبانهای برنامه نویسی نیز از موتور Regular Expressions استفاده می شود (نظیر Perl,Ruby,TCL)


    اصل Regular Expressions بر روی نظریه ماشینها و نظریه زبانهای صوری تکیه دارد .


    جدول زیر نمونه ای از سینتکس های Regular Expressoins می باشد .



    []
    range specificication (e.g., [a-z] means a letter in the range a to z)
    \w
    word character; same as [0-9A-Za-z_]
    \W
    non-word character
    \s
    space character; same as [ \t\n\r\f]
    \S
    non-space character
    \d
    digit character; same as [0-9]
    \D
    non-digit character
    \b
    backspace (0x08) (only if in a range specification)
    \b
    word boundary (if not in a range specification)
    \B
    non-word boundary
    *
    zero or more repetitions of the preceding
    +
    one or more repetitions of the preceding
    {m,n}
    at least m and at most n repetitions of the preceding
    ?
    at most one repetition of the preceding; same as {0,1}
    |
    either preceding or next expression may match
    ()
    grouping
    آخرین ویرایش به وسیله MMSHFE : شنبه 17 فروردین 1392 در 22:11 عصر دلیل: اصلاح LTR

  2. #2
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    اولین رو خودم استارت میزنم تا شروعی باشه برای دیگر کاربران :


    =============================================
    برای درستی آدرس ایمیل :

    $Email =$_POST['Email'] ;
    if(!preg_match('/^[a-z0-9_\-+\.]+@([a-z0-9\-+]+\.)+[a-z]{2,5}$/i', $Email))
    {
    die('erorr');
    }


    ==================

    درستی آدرس آی پی :
    Standard IP-Address(IPv4) RegEX


    $ip='192.168.1.2';

    if(preg_match('((?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9]))', $ip))

    { echo'okey'; }else { echo'erorr'; }


    بالایی برای ورژن 4 بود:
    اینم برای درستی آی پیه:
    (([2]([0-4][0-9]|[5][0-5])|[0-1]?[0-9]?[0-9])[.]){3}(([2]([0-4][0-9]|[5][0-5])|[0-1]?[0-9]?[0-9]))
    آخرین ویرایش به وسیله رضا قربانی : یک شنبه 05 شهریور 1391 در 21:48 عصر

  3. #3
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    می دونید که یک رمز خوب باید شامل حروف و عدد و ... باشه

    من در اینجا اومدم گفتم رمز : شامل هم عدد باشه و هم حروف که حتما باید 6 الی 15 کاراکتر باشه


    $pass='ali!@12';

    if(preg_match('/(?!^[0-9]*$)(?!^[a-zA-Z!@#$%^&*()_+=<;>;?]*$)^([a-zA-Z!@#$%^&*()_+=<;>;?0-9]{6,15})$/',$pass))

    { echo'okey'; }else { echo'error'; }


    ===============

    در اینجا می گم پسورد ما بین 8 الی 20 کاراکتر از عدد و حروف باشه که در این پسورد نباید بیش از 3 کارکتر تکراری داشته باشیم

    $password='Reza 12344 RRR';


    if(preg_match('/^(?!.*(.)\1{3})((?=.*[^\w\d\s])(?=.*\w)|(?=.*[\d])(?=.*\w)).{8,20}$/', $password))

    { echo'okey'; }else { echo'error'; }
    آخرین ویرایش به وسیله رضا قربانی : یک شنبه 05 شهریور 1391 در 21:49 عصر

  4. #4
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    شماره تلفن (بیشتر از 10 عدد) :

    $tel='0911-111-2345';
    if(preg_match('/(\()*((\d){3})(\)*)[ -.]*((\d){3})[ -.]*((\d){4})[ a-zA-Z0-9,-.]{0,10}/', $tel))

    { echo'okey'; }else { echo'error'; }

    ===============================

    پسورد باید بیش از 6 کاراکتر و حداقل یک حروف کوچک و یک حروف بزرگ و یک عدد باشد

    $pw='AAaa99';
    if(preg_match('/\A(?=[\x20-\x7E]*?[A-Z])(?=[\x20-\x7E]*?[a-z])(?=[\x20-\x7E]*?[0-9])[\x20-\x7E]{6,}\z/', $pw))

    { echo'okey'; }else { echo'error'; }




    ==============================
    پسورد ما باید شامل حروف بزرگ و کوچک - اعداد - کاراکترها دستوری و بیش از 8 و کمتر از 20 کاراکتر باشد

    $acc='AAaa987*.&^%$';
    if(preg_match('/^(?!.*(.)\1{3})((?=.*[\d])(?=.*[A-Z])(?=.*[a-z])(?=.*[^\w\d\s])).{8,20}$/', $acc))

    { echo'okey'; }else { echo'error'; }


    بچه ها بسم الله
    آخرین ویرایش به وسیله رضا قربانی : سه شنبه 07 شهریور 1391 در 09:22 صبح

  5. #5
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    سلام
    دوست عزیز به خاطر تاپیک خوبت ممنون
    شاید این به درد بخوره : http://regexlib.com

  6. #6
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    نقل قول نوشته شده توسط desatir7316 مشاهده تاپیک
    سلام
    دوست عزیز به خاطر تاپیک خوبت ممنون
    شاید این به درد بخوره : http://regexlib.com
    در این مبحث که سایت زیاد وجود داره و منم چندتاش رو عرض کردم . حتی سایت های آنلاین... اما اینجا فقط یک کمک و مرجع برای دوستان هست . اگر کسی می تونه توی این تاپیک کمکمون کنه خوشحال میشیم.
    با تشکر

  7. #7
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    سلام
    من می خواهم برای جلوگیری از استفاده از تگ HTML در فرم ها از دستورات زیر استفاده کنم
    پاکسازی تگ ها :


    $value=' <script> reza </script> <a href="http"//abc.com">test</a>';

    echo preg_replace("/<.*?>/", "", $value);

  8. #8
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    خلاصه آدرس :
    در اینجا یک آدرسی رو وارد می کنیم و میگیم مثلا 22 کارکتر اول رو بگیر و بقیه و نقطه چین ... بذار و در آخر آدرس اصلی رو لینکش میکنم


    $text = 'http://mehr-design.ir/test/mr.ghorbani/f/How-Do-I-Make-Short-Urls-On.html';

    echo preg_replace("/^(.{1,22})(.*|$)/s", "<a href=".$text.">$1</a>...", $text);



    ------------------------------------------------------

    ورودی فقط عددی بیشتر از 6 رقم :

    $Number='123456';
    if(preg_match('/^[0-9]{6}/',$Number))
    { echo'okey'; }else { echo'erorr'; }


  9. #9
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    چک کردن درستی آدرس دامنه سایت :
    اگر آدرس سایت به درستی وارد شده باشه خروجی ما میشه : 1 ، در غیر این صورت خروجی 0

    $A='http://www.mehr-design.ir'; // درستی آدرس سایت رو چک می کنه | http://www.
    echo preg_match("/(data|http|https|ftp):\/\/([a-zA-Z0-9_]+)\.([a-zA-Z0-9-_]+)/i",$A); /// output 1

  10. #10
    کاربر تازه وارد آواتار morudi
    تاریخ عضویت
    فروردین 1392
    محل زندگی
    ایران
    پست
    93

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    من یدونه کاربردی شو توی تابع گذاشتم این تابع جمله های اول رو استخراج می کنه
    function getFirst($text, $number=2) {
    // use regex to split into sentences
    $sentences = preg_split('/([.?!]["\']?\s)/', $text, $number+1, PREG_SPLIT_DELIM_CAPTURE);
    if (count($sentences) > $number * 2) {
    $remainder = array_pop($sentences);
    } else {
    $remainder = '';
    }
    $result = array();
    $result[0] = implode('', $sentences);
    $result[1] = $remainder;
    return $result;
    }

  11. #11
    کاربر تازه وارد آواتار morudi
    تاریخ عضویت
    فروردین 1392
    محل زندگی
    ایران
    پست
    93

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    <?php
    $chars = preg_split('/(<[^>]*[^\/]>)/i', $content, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
    print_r($chars); //parentheses added
    ?>
    Produces:
    Array
    (
    [0] => <strong>
    [1] => Lorem ipsum dolor
    [2] => </strong>
    [3] => sit <img src="test.png" />amet
    [4] => <span class="test" style="color:red">
    [5] => consec
    [6] => <i>
    [7] => tet
    [8] => </i>
    [9] => uer
    [10] => </span>
    [11] => .
    )

  12. #12

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    واقعا تاپیک خوبیه .
    فقط اگه وقت کنید نحوه نوشتن پترن هایی که قرار دادین رو توضیح بدید ممنون میشم.

  13. #13

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    سلام بنده میخواستم بدونم چه طوری میتونم پاراگراف های یک پست را که کمتر از 100 کاراکتر هست را رنگشون را تغییر بدهم

    یه جوری که پاراگراف اول کمتر از 100 بلد
    بقیش معمولی

  14. #14

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    چرا ادامه نمیدید؟؟؟؟؟؟؟؟

  15. #15

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    نقل قول نوشته شده توسط phpmob مشاهده تاپیک
    سلام بنده میخواستم بدونم چه طوری میتونم پاراگراف های یک پست را که کمتر از 100 کاراکتر هست را رنگشون را تغییر بدهم

    یه جوری که پاراگراف اول کمتر از 100 بلد
    بقیش معمولی
    با اجازه آقا رضا :

    می تونی به صورت زیر استفاده کنی


    /^[\s\S]{100,100}$/

  16. #16

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    سلام. اگه بخوایم مثلا فقط یک زبان خاص استفاده باشه کدش چی هست؟ مثلا فقط فارسی باشه! یا مثلا چینی باشه + انگلیسی + عدد. یا مثلا انگلیسی + آلمانی باشه.

  17. #17

    پست بدون محتوا

    //////////
    آخرین ویرایش به وسیله MostafaEs3 : سه شنبه 19 بهمن 1395 در 05:59 صبح

  18. #18

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    نقل قول نوشته شده توسط MostafaEs3 مشاهده تاپیک
    با سلام خدمت شما.

    روش اول: وارد کردن حروف بصورت تکی

    if (!preg_match('/[ابپتثجچحخدذرزژشسصضطظعغفقک گلمنوهیء]+/u', $string)) {
    // Persian Chars
    }

    تذکر: یک فاصله توسط ویرایشگر بین حروف بوجود اومده که نیاز هست حذف کنید.

    روش دوم: وارد کردن Range حروف

    if (preg_match('/[آ-ی]+/u', $string)) {
    // Persian Chars
    }


    روش سوم: استفاده از Unicode

    if (preg_match('/\p{Arabic}/u', $string)) {
    // Arabic Chars
    }


    لینک 1 :: http://stackoverflow.com/questions/4...ese-characters
    لینک 2 :: http://stackoverflow.com/questions/1...ationalisation
    لینک 3 :: http://php.net/manual/en/regexp.reference.unicode.php
    ---------------------------
    و من الله توفیق
    سلام. تشکر. هر دو سه تست شد دوتای دومی روی php 5.4 اجرا نشدند.
    با تشکر.

  19. #19
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    چک کردن زبان فارسی :

    preg_match("/[\x{0600}-\x{06FF}\x]{1,32}/u", 'محمد');

  20. #20
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    خروجی گرفتن فقط عدد در بین جمله :

    $Search="این کالا به قیمت 20000 هزار است ";
    $Is_Number= preg_replace('/[\x{0600}-\x{06FF}\x]{1,32}/u',"", $Search);//حذف حروف فارسی
    $Is_Number=trim(preg_replace('/[a-zA-Z!@#$%^&*()_+=<;>;?]/',"", $Is_Number));// حذف گروه انگلیسی و کاراکترها
    echo $Is_Number;
    //out : 20000

  21. #21
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    خروجی گرفتن فقط عدد در بین جمله :

    $Search="این کالا به قیمت 20000 هزار است ";
    $Is_Number= preg_replace('/[\x{0600}-\x{06FF}\x]{1,32}/u',"", $Search);//حذف حروف فارسی
    $Is_Number=trim(preg_replace('/[a-zA-Z!@#$%^&*()_+=<;>;?]/',"", $Is_Number));// حذف گروه انگلیسی و کاراکترها
    echo $Is_Number;
    //out : 20000

  22. #22

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    این سایت هم مقاله ی خوبی داره

    http://webgoo.ir/154/%D8%A2%D9%85%D9...ar-expressions

  23. #23
    کاربر جدید
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    تهران
    پست
    17

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    ساخت اتوماتیک رگولار اکسپرشن بدون یادگیری قواعد رگولار اکسپرشن. کافیه متن مورد نظر را وارد کنید و بگید کدام قسمتش مدنظرتونه. سپس زبان برنامه نویسی مدنظر خودتونو انتخاب می کنید کد براتون ساخته میشه
    txt2re.com

  24. #24
    کاربر تازه وارد آواتار myhoo2005
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    نصف جهان
    پست
    69

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    سلام . سایت خوبی یه فقط من متوجه نشدم..!!
    من اگز بخوام فرمت واعتبار سنجی ورود اطلاعاتم به صورت مثلا 48/30003/545445 و یا مثلا شماره شبای بانکی به صورت
    IR55 4545 5645 6566 8887 2121 65 باشه و فرمت اون رو مثل کنترل وارد کردن یک ایمیل بهم بده چطوری باید عمل کنم ...؟
    ممنون

  25. #25
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: دنیای رگولار اکسپرشن Regular expression

    نقل قول نوشته شده توسط myhoo2005 مشاهده تاپیک
    سلام . سایت خوبی یه فقط من متوجه نشدم..!!
    من اگز بخوام فرمت واعتبار سنجی ورود اطلاعاتم به صورت مثلا 48/30003/545445 و یا مثلا شماره شبای بانکی به صورت
    IR55 4545 5645 6566 8887 2121 65 باشه و فرمت اون رو مثل کنترل وارد کردن یک ایمیل بهم بده چطوری باید عمل کنم ...؟
    ممنون
    اصلا این حرکت ربطی به -Regular-expression نداره .
    با کدهای php یا JS یا JQuery می تونی این عمل رو انجام بدید

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

  1. عبارات باقاعده ( Regular Expressions ) در دات نت
    نوشته شده توسط csharper در بخش مقالات مرتبط با Microsoft .Net Framework
    پاسخ: 15
    آخرین پست: یک شنبه 12 بهمن 1393, 18:50 عصر
  2. Regular Expression
    نوشته شده توسط Happy_davood در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 09 آذر 1384, 16:34 عصر
  3. Regular Expression In ASP.NET
    نوشته شده توسط EHSH در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: پنج شنبه 22 اردیبهشت 1384, 22:40 عصر
  4. Regular Expression
    نوشته شده توسط Happy_davood در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: شنبه 27 فروردین 1384, 00:17 صبح

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

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

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