مشاهده دست آورد نظرسنجی: آیا تمایل دارید این مبحث را ادامه بدهم؟

رای دهنده
2. شما نمی توانید در این رای گیری رای بدهید
  • بله

    2 100.00%
  • خیر

    0 0%
نمایش نتایج 1 تا 16 از 16

نام تاپیک: عبارات باقاعده ( Regular Expressions ) در دات نت

  1. #1

    Cool عبارات باقاعده ( Regular Expressions ) در دات نت

    امیدوارم این مقاله برای دوستان مفید باشد ...( ارائه دهنده Hamid.R Parvaresh == CSharper )

    عبارات با قاعده Regular expressions تا کنون در ابزار ها و زبان های برنامه نویسی متعددی به بکارگرفته شده است. از جمله موارد آشنا در مورد کاربرد عبارات با قاعده می توان به اعتبار سنجی آدرس پست الکترونیک ، کلمه رمز ، .. اشاره نمود.
    در سکوی دات نت هم که یکی از جدیدترین فناوریهای توسعه نرم افزاری می باشد فضای نام و مجموعه ای از کلاسهای متعدد برای بهره گیری از قدرت عبارات با قاعده موجود می باشد.

    کلاسهای عبارات باقاعده موجود در چارچوب دات نت قسمتی از کتابخانه کلاس پایه می باشند که در این صورت هر زبان یا ابزاری که به زبان مشترک زمان اجرا (CLI) رجوع کند می تواند از این کلاس ها استفاده نماید که در این مقاله نمونه مثال هایی با زبان شی گرا و قدرتمند ( C#‎.Net ) ارائه می شود..

    1.مقدمه :

    لازم است ابتدا برای درک درست مبحث در مورد بعضی از موارد پایه ای توضیح داده شود با توجه به یک تعریف رسمی عبارت با قاعده عبارتی است که بتوان آن را از روی حروف الفبا و رشته تهی و با استفاده از عملگرهای اتحاد ، اتصال ، * یا + ایجاد کرد همانند
    aabbaa و یا you (@) somewhere.com
    در دات نت عبارت باقاعده عبارتی است که از کاراکتر های یونی کد، با استفاده از عملگرهای ؟ ، + ،*، | و. .. ایجاد شود .

    عبارات با قاعده روش های قدرتمند ، راحت و کارا برای پردازش متن ارائه می کنند.
    عبارات با قاعده به ما اجازه می دهد برای پیدا کردن الگوی کاراکتری خاص به سرعت مقدار زیادی از متن را تجزیه نموده و یا رشته ای را از متنی استخراج، ویرایش ، جایگذاری یا حذف نموده و یا حتی امکان اضافه کردن رشته استخراج شده از متن به یک مجموعه برای تولید گزارش را به ما میدهد .
    در خیلی از برنامه هایی که با رشته ها ارتباط دارند
    ( همچون پردازش فایل HTML و یا تجزیه فایل log یا تجزیه عنوان HTTP ) عبارات با قاعده ابزاری ضروری می باشند.
    عبارات با قاعده درون چارچوب دات نت بیشترین ویژگی های مورد پسند در دیگر زبانها همچون پرل(Perl) و.. را دارا بوده ضمن اینکه شامل دیگر خصوصیات تقریبا منحصر بفرد همچون تطبیق راست به چپ و کامپایل در هنگام اجرا نیز می باشد.

    میتوان عبارات با قاعده را به عنوان زبانی فرض نمود که برای دستکاری در متون طراحی و بهینه سازی شده است این زبان شامل دو نوع کاراکتر ابتدایی می باشد :
    کاراکتر های حرفی (Literal) و فوق کاراکتر ها که قدرت پردازش را به عبارات باقاعده میدهند.
    احتمالا شما با فوق کاراکتر های ؟ و * که در سیستم فایلی داس برای نمایش یک کاراکتر یا گروهی از کاراکتر ها مورد استفاده قرار می گرفت(می گیرد) آشنایی دارید به طور مثال در دستور زیر که وظیفه آن کپی هر گونه فایل موجود در درایو C: با پسوند .doc بر روی دیسکت موجود در درایو :A می باشد ، فوق کاراکتر * به عنوان هر گونه فایلی در نظر گرفته می شود که دارای پسوند .doc میباشد .
    عبارات با قاعده این ایده ابتدایی را چندین برابر توسعه داده اند و یک دسته بزرگ از فوق کاراکترها را ارائه کرده اند که امکان توصیف عبارات پیچیده برای تطابق متون با کاراکترهای نسبتا کمتر فراهم کرده اند.
    به طور مثال : وقتی عبارت باقاعده برای بدنه یک متن به کار می رود تمامی رشته های
    "s2000\" که با هر کاراکتر فاصله مثل space یا tab موجود می باشد را تطبیق داده و مشخص میکند. البته برای زبان سی شارپ (و C++‎, jscript ) می بایست این عبارت را به شکل
    "s2000\\"بنویسیم .

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

    یکی از ساده ترین عبارات با قاعده، زیر رشته می باشد برای نمونه عبارت باقاعده "فارس " با رشته "خلیج فارس " تطبیق دارد چونکه این رشته شامل عبارت با قاعده میباشد.
    می توان به راحتی رشته هایی که با کاراکتر های خاصی شروع یا پایان می یابند را مشخص نمود :
    کاراکتر ^ شروع رشته را تطبیق میدهد به طور مثال good^ با رشته های good morning , good evening , ... تطبیق میکند.
    برای تطبیق انتهای رشته از کاراکتر $ استفاده میکنیم به طور مثال $ere با رشته های Where , There مطابقت میکند.
    دسته کاراکترها [Character Classes] به ما اجازه میدهد مجموعه ای از کاراکترها را مشخص کنیم به طور مثال دسته [aeiou] با رشته "Hey" تطابق دارد ولی با "Zzz"نه
    به عبارت دیگر رشته باید حداقل شامل یکی از کاراکتر های موجود در دسته باشد.
    با استفاده از دسته کاراکترها همچنین میتوانیم یک محدوده ای را مشخص کنیم
    به عنوان نمونه [0-9] با اعداد 0 ,5, 8 و به طور کلی هر عدد در این محدوده 0تا 9 تطابق خواهد داشت.
    بعضی مواقع می خواهیم یک تعداد عدد مشخص را با یک الگوی مشخصی تطبیق دهیم برای مثال یک کد پستی 5 رقمی را در نظر بگیرید بنابراین به این شکل نوشته می شود:

    ^ [0-9] {5} $ یا ^\d {5 }$
    ( توجه : هنگام تایپ و خواندن از راست به چپ می باشد )
    یعنی ابتدای رشته را تطبیق دهد ، با 5 رقم دنبال کند و بالاخره انتهای رشته را دنبال نماید به طور مثال این عبارت باقاعده با عدد 12345 که به طور فرضی یک کد پستی است تطابق دارد.
    و یا عبارت ^[0-9]{5} – [0-9]{5} $ با یک کد 10 رقمی مثل 12345-09876 تطابق خواهد داشت.
    دستور زبان یک عبارت باقاعده شامل تعدادی خصیصه می باشد که می توان با هم ترکیب نمود به طور مثال میتوان بوسیله ( ? !:) خاصیت غیر حساس بودن به بزرگ و کوچک بودن حروف را فعال نمود در نتیجه عبارت ( ?!:[aeiou] ) با رشته های hello و HELLO تطابق خواهد داشت ولی با Zzzz. نه .

    در صورت علاقه دوستان ادامه خواهد داشت ....

    2- .درک دستور زبان ابتدایی عبارات با قاعده در دات نت
    3-.معرفی کلاس های عبارات با قاعده
    4-. تعیین اعتبار ورودی کاربر بوسیله عبارات با قاعده
    5-تعویض زیر رشته ها با استفاده از عبارات با قاعده
    6-معرفی کنترل RegularExpressionValidator
    آخرین ویرایش به وسیله csharper : شنبه 05 شهریور 1384 در 13:07 عصر

  2. #2
    محروم شده آواتار Babak-Aghili
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    در خاطرات شما
    پست
    801
    ممنون . خلاصه و مفید ... چون هیچ وقت حوصله نکرده بودم از روی کتابها بخونمشون.

  3. #3
    ممنون از مطالب
    ادامه بدید منتظریم

  4. #4
    کاربر دائمی
    تاریخ عضویت
    بهمن 1382
    محل زندگی
    فعلا ایران - فعلا تهران
    پست
    2,628
    ممنون میشیم اگر ادامه بدید

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    Merikh
    پست
    51
    سلام
    بیا باقیشم بگو خیلی مفید ِ.

  6. #6
    کاربر دائمی آواتار ehsan_ansaripoor
    تاریخ عضویت
    تیر 1384
    محل زندگی
    isfahan
    پست
    706
    آقا یک دنیا ممنون

  7. #7
    کاربر دائمی آواتار meh_secure
    تاریخ عضویت
    دی 1383
    محل زندگی
    California
    پست
    964
    دستت درد نکنه. خداییش خیلی ردیف بود و حوصله هم می خواست هم نوشتنش و هم خوندنش(البته نوشتنش سخت تره) .

    می خواستم بدونم منبع کاملی در این باره هست(غیر از msdn) میخوام بصورت فارسی باشه

  8. #8
    کاربر دائمی آواتار amir master
    تاریخ عضویت
    آذر 1384
    محل زندگی
    کرمانشاه
    سن
    36
    پست
    151
    خوبه موفق باشی

  9. #9
    خیلی ممنون
    عالیه
    لطفا ادامه داشته باشه

  10. #10
    بازم ادامه بده عالی بود

  11. #11
    کاربر تازه وارد آواتار chemical
    تاریخ عضویت
    مهر 1385
    محل زندگی
    تهران
    پست
    33
    ممنون میشم ادامه این مطالب رو بنویسین

  12. #12
    کاربر دائمی آواتار golihaghighi
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    شيراز
    سن
    47
    پست
    234
    ممنون از مطلب خوب شما
    لطفا ادامه مطلب رو هم بنویسید

  13. #13

    نقل قول: عبارات باقاعده ( Regular Expressions ) در دات نت

    بابا اینقدر این مقاله طرفدار داره یعنی هیچکی توی این سایت پیدا نمیشه ایت ها رو ادامه بده

  14. #14
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    خوزستان، دزفول
    پست
    243

    نقل قول: عبارات باقاعده ( Regular Expressions ) در دات نت

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

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

    نقل قول: عبارات باقاعده ( Regular Expressions ) در دات نت

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

  16. #16
    کاربر دائمی آواتار Hossis
    تاریخ عضویت
    آبان 1386
    محل زندگی
    بیرجند
    پست
    1,731

    نقل قول: عبارات باقاعده ( Regular Expressions ) در دات نت

    ولی این که خود آدم قواعدش رو یاد بگیره بهتره
    خیلی هم وقت نمی گیره ، فقط تمرین می خواد

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

  1. تولید کد های regular expressions با استفاده از Expresso
    نوشته شده توسط SalarSoft در بخش مقالات مرتبط با Microsoft .Net Framework
    پاسخ: 4
    آخرین پست: سه شنبه 23 مهر 1392, 18:46 عصر
  2. مشکل در جایگزینی رشته ها (Regular Expression)
    نوشته شده توسط sweb در بخش PHP
    پاسخ: 5
    آخرین پست: یک شنبه 23 دی 1386, 17:59 عصر
  3. Regular Expression
    نوشته شده توسط maxpayn2 در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: یک شنبه 18 آذر 1386, 12:28 عصر
  4. تبدیل pda به regular grammer
    نوشته شده توسط mandana_eng.beginer در بخش برنامه‌نویسی جاوا
    پاسخ: 0
    آخرین پست: پنج شنبه 08 آذر 1386, 19:42 عصر
  5. آیا میشه در UrlMappings از Regular Expressions استفاده کرد؟
    نوشته شده توسط web developer در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: دوشنبه 02 مهر 1386, 11:00 صبح

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

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