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

نام تاپیک: کلاس Regex

  1. #1
    کاربر تازه وارد آواتار victor007
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    سن
    35
    پست
    66

    کلاس Regex

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

  2. #2
    کاربر تازه وارد آواتار daniel_0247
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    Kuala Lumpur
    پست
    91

    نقل قول: کلاس Regex

    سلام
    شما می توانید با استفاده از کلاس Regex از Regular expression ها استفاده کنید . Regular expression ها امکاناتی هست که با آن می توانید داخل یک مقدار رشته ای رو جستجو کنید با استفاده از الگویی که خودتان تعریف می کنید ، همچنین کارهایی دیگر از قبیل Replace ، Format می توانید انجام دهید .
    چند مثال از الگو رو می زارم :
    Regex objNotNaturalPattern=new Regex("[^0-9]");

    خوب! شما در این الگو نمی تونی اعدادی بین 0 تا 9 رو وارد کنی و فقط باید حروف باشد . کد کامل پایین هست .

    using System.Text.RegularExpressions;

    MessageBox.Show (objNotNaturalPattern.IsMatch("ABC").ToString ()); 


    _________________________
    My Blog

  3. #3
    کاربر دائمی آواتار alihassanabadi
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    Tehran
    پست
    372

    نقل قول: کلاس Regex

    نقل قول نوشته شده توسط victor007 مشاهده تاپیک
    سلام
    میخواستم بدونم این کلاس در کجا استفاده می شود چه کارایی دارد و مقدار بازگشتی ان از چه نوعی میباشد ؟
    و هر اطلاعاتی که می توانید در مورد این کلاس بدهید.
    ممنون میشوم کمک کنید .
    regular expression رشته ای با فرمت خاص میباشد که برای پیدا کردن الگوی مشخصی به کار میرود ودر هنگام صحت سنجی اطلاعات مورد استفاده قرار میگیرد تا مطمعن شویم فرمت خاص وجود دارد
    مثال فرض کن
    که کد پستی باید 5 رقم باشد یا نام خانوادگی باید با حروف بزرگ شروع بشه.
    از regular expression در جاهای دیگه نیز استفاده میشه برای مثال برنامه ای از regular expression برای ساخت کامپایلر مورد استفاده قرار میگیره
    در مورد دیگه برای کنترل دستورات برنامه نویسی استفاده میشه
    در .net چندین کلاس برای تشخیص استفاده از regular expression وجود داره یکی از این کلاس ها کلاس regular در فضای کاری System.Text.RegularExpression میباشد
    این کلاس دارای متدهای static هستش که بدون نیاز تعریف شی از این کلاس میتوان از ان متدها استفاده کرد
    کلاس match نتیجه عملیات انجام گرفته توسط regular expression را انجام میدهد.
    نکته:در هنگام استفاده از regular expression کلاس Match ربا متد Match اشتباه نگیرید
    در زیر کلاس های کارکترهایی که توسط regular expression را استفاده میشن رو نشون میدم

    \d
    هر چیزی به جز ارقام
    \w
    هر چیزی به جز کارکتر حروف
    \s
    هر چیزی به جز کاراکتر whitespase
    \D
    ارقام
    \W
    کارکتر حروف
    \S
    کارکتر whitespace

    به برنامه زیر توجه کن
    این برنامه سال تولد را میگیرد و ان را با regular expression مقایسه میکند

    1.string outp;
    2. Regex expression = newRegex(@"J.*\d[0-35-9]-\d\d-\d\d");
    3. string string1="Jane's Brithday is 05-12-75\n"+
    4. "Dave's Brithday is 11-04-68\n"+
    5. "John's brithday is 04-28-73\n"+
    6. "Joe's Brithday is 12-17-77";
    7. foreach (Match mymatch in expression.Matches(string1))
    8. outp += mymatch.ToString() + "\n";
    9. MessageBox.show(outp);

    خط 2 یک نمونه regex را تولید میکند و انرا طبق الگوی خاصی به regular expression نسبت میدهد اولین کارکتر موجود J میباشد بدان معناست که رشته ای میتواند مطا بقت داشته باشد که با j شروع شود
    "." بدان معناست که هر کارکتری غیر از خط جدید میتواند در این قسمت قرار گیرد و
    "*." بدان معناست که هر ارقامی میتواند قرار گیرد
    "d\" نشانگر هر کارکتر عددی میباشد غیر از کارکترهایی که دارای کلاس مشخص میباشند بقیه را میتوان در داخل [] مشخص نمود محدوده کارکتر ها را با - مشخص میکنیم
    در خط 7 از حلقه foreach استفاده شده که هر مورد مطابقت شده را با استفاده از expression.Matches بدست می اورد
    به این متد یک رشته به عنوان پارامتر ورودی ارسال میشود
    اگه برنامه رو تست کنی مشخص میشه که دو مورد با رشته مشخص شده در Regular Expression مطابقت دارند
    در مثال بالا اعداد میتوانند بین 0 تا 3 یا بین 5 تا 9 باشند یعنی 4 در محدوده قرار نمیگیرد.
    یه مثال کوچولو فرض کن که میخوایم رشته ورودی چهار رقم باشه اینو مینویسیم
    \d\d\d\d
    یا تکه کد زیر میگه که رشته ورودی حتما باید از اعداد باشه

    if (!Regex.Match(txtid.Text, @"^[0-9]").Success)
    {

    }

    با تشکر
    ______________________________-
    سعادت دیگران بخش مهمی از خوشبختی ماست.
    دست هایی که کمک میکنند مقدس تر از لب هایی هستند که دعا میکنند.کوروش کبیر
    آخرین ویرایش به وسیله alihassanabadi : چهارشنبه 08 مهر 1388 در 19:33 عصر

  4. #4
    کاربر تازه وارد آواتار victor007
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    سن
    35
    پست
    66

    Question نقل قول: کلاس Regex

    اول از همه تشکر میکنم از کمکتون
    فقط میخواستم توضیحات بیشتری در مورد الگو سازی بدهید
    قواعد ونوع الگو سازی و ...
    و اینکه ایا کلاس regex مقدار بازگشتی دارد ؟
    آخرین ویرایش به وسیله victor007 : پنج شنبه 09 مهر 1388 در 16:02 عصر

  5. #5
    کاربر تازه وارد آواتار victor007
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    سن
    35
    پست
    66

    Smile نقل قول: کلاس Regex

    کسی من رو در مورد راهنمایی بیشتر در مورد الگوسازی
    برای regular expression کمک نمیکنه ؟

  6. #6
    کاربر دائمی آواتار alihassanabadi
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    Tehran
    پست
    372

    نقل قول: کلاس Regex

    نقل قول نوشته شده توسط victor007 مشاهده تاپیک
    کسی من رو در مورد راهنمایی بیشتر در مورد الگوسازی
    برای regular expression کمک نمیکنه ؟
    سلام
    دوست عزیز میتونی به سایت زیر مراجعه کنی
    البته اگه زبانت(انگلیسی) خوبه
    البته با وجود نرم افزار های زیاد میتونی ترجمه کنی.
    http://www.regular-expressions.info/

  7. #7

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

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