تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 8 از 8

نام تاپيک: regular expression asp.net

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Dec 2006
    پست ها
    4

    پيش فرض regular expression asp.net

    ;کسی هست بتونه به من تو مبحثregular expression asp.net کمک کنه

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    این الگوها اصل بنیان Regex ها هستند، که البته معمولاَ توضیح همه شان را یکجا نمی یابید. (هرچی بلد بودم را ریختم وسط!)

    کاراکتر نقطه
    این کاراکتر مچ میشه با همه کاراکترها بجز خط جدید(Enter-13)

    کاراکتر بین [ ]
    این کاراکترها مچ میشوند با حداقل یکی از خودشان (Or)
    مثلاَ نظیر [xyz] باید x یا y یا z باشد.
    البته استثنا هم دارد و آن کاراکتر "-" است که باعث چک کردن محدوده ای میشود
    مثلاَ نظیر [a-z] باید حتماَ یک حرف انگلیسی باشد و نیز ترکیباتی نظیر [a-z0-9] نیز مجاز است.

    کاراکتر ^
    این کاراکتر باعث معکوس شدن محدوده میشود.

    کاراکتر d\
    با یک عدد واحد مچ میشود.

    کاراکتر D\
    با یک کاراکتر غیر عددی مچ میشود. (بر عکس قبلی)

    کاراکتر w\
    با یک حرف انگلیسی مچ میشود و برابر [_a-zA-Z] میباشد.

    کاراکتر W\
    با یک غیر حرف انگلیسی مچ میشود، (برعکس قبلی.)

    کاراکتر *
    که همه میدانند و با هر تعداد(حتی تعداد صفر) کاراکتری از نوع کاراکتر قبلی مچ میشود.

    کاراکتر +
    با هر تعداد(حداقل یک) کاراکتری از نوع کاراکتر قبلی مچ میشود.
    مثلاَ اگر عبارت "abbb5" با هم "ab*5" مچ میشود و هم "ab+5" ولی
    عبارت "a5" فقط با "ab*5" مچ میشود و با "ab+5" سازگار نیست.

    کاراکتر ?
    با هیچ یا یک کاراکتر از نوع کاراکتر قبلی مچ میشود.

    کاراکتر s\
    با یک فاصله واحد مچ میشود.

    کاراکتر S\
    با یک کاراکتر غیر فاصله مچ میشود. (بر عکس قبلی)

    کاراکترهای ()
    برای گروه بندی دیگر کاراکتر ها استفاده میشود که با | قابلیت or پیدا میکند.

    کاراکتر {}
    این کاراکترها در ترکیب معنا پیدا میکنند و مشخص کننده تعداد هستند
    مثلاَ da{2,4}\d\ باید با یک عدد شروع شود و 2 الی 4 کاراکتر a ادامه یابد و مجدداَ با یک عدد تمام شود.
    ضمناَ حذف یکی از محدوده ها مجاز است
    مثلاَ da{2,}\d\ باید با یک عدد شروع شود و با حداقل 2 کاراکتر a ادامه یابد و مجدداَ با یک عدد تمام شود.
    Last edited by _H2_; 05-04-2009 at 16:06. دليل: اضافه کردن دو مورد فراموش شده.

  3. 5 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  4. #3
    آخر فروم باز sanam.b's Avatar
    تاريخ عضويت
    Jan 2007
    محل سكونت
    ماه
    پست ها
    1,014

    پيش فرض

    سلام به همه دوستان
    عبارت زیر رو برای اعداد اعشاری در regexنوشتم
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    به نظر شما اشکال اون چیه که جواب نمی ده؟

    فکر می کنم باید یه توضیح کوچولو بدم
    اعداد صفر تا 9 هستد و اونی که در وسط کروشه است نقطه ممیز است نه صفر
    Last edited by sanam.b; 27-07-2008 at 13:34.

  5. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اولاً لازم میدونم از شما بابت جستجو، قبل از زدن تاپیک قدردانی کنم.

    اگر بخواهید regex را برای asp.net و کلاینت استفاده کنید، فکر کنم ترکیب مناسب این باشد.
    البته با این فرض که ورودی اعشاری و عدد صحیح، هر دو مجاز باشد. (که معمولاً اینچنین است.)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ولی در دسکتاپ تفاوتهای جزئی دارد.

    ضمناً به نظر میاد، چندان حضور ذهن نداشتم و الآن که به پست خودم نگاه میکنم، میبینیم که "()s" را فراموش کرده ام توضیح دهم، که این موارد را نیز اضافه کردم.

    موفق باشید.

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  7. #5
    آخر فروم باز sanam.b's Avatar
    تاريخ عضويت
    Jan 2007
    محل سكونت
    ماه
    پست ها
    1,014

    پيش فرض

    بازم سلام

    چه جوری می تونیم از stringbuilder در regex استفاده کنیم ؟(اصلا میشه استفاده کرد؟)
    چون مرتبا پیغام میده که نمی تونهSystem.Text.StringBuilder به string تبدیل کنه ؟
    خودم هم نمی دونم چطوری باید string به stringbuilder یا بالعکس تبدیل کرد ممنون میشم اگه در این دو مورد منو راهنمایی کنید.

  8. #6
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    تبدیلاتشان ساده است.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  9. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  10. #7
    داره خودمونی میشه ahmadb's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    اراک
    پست ها
    108

    پيش فرض

    سلام
    ببخشید ، میدونم که تاپیک قدیمیه اما نمی خواستم تاپیک جدید درست کنم
    کاراکتر : معنی خاصی داره ؟ علامت سؤال به غیر از اونی که گفتید معنی دیگه ای نداره ؟
    مثلا من الگوی زیرو دیدم اما نمی تونم بفهممش ، میشه توضیحش بدین؟
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خیلی ممنون
    Last edited by ahmadb; 23-08-2010 at 12:38.

  11. #8
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    شرایط و ضوابط regex خیلی گسترده تر از مطالب پست دوم است.
    کاراکتر : معنی خاصی داره ؟
    همینطوری خیر.
    ولی علامت سوال در شروع یک گروه پرانتزی معنی خاصی دارد که کاراکتر بعدی به ان کمک میکند.
    مثلاً از موارد جالب میتوان به این سینتکس اشاره کرد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در عبارت فوق اگر REGEX صادق باشد، بعدش باید REGEX_YES صادق باشد وگرنه باید REGEX_NO صادق باشد!

    =====

    در گروه های پرانتزی، مفهومی وجود دارد به نام تسخیر، که مقدار مچ شده با گروه پرانتزی در محلی نگه داری میشود و دوباره قابل چک شدن است.
    مثلاً
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    فقط وقتی مچ میشود که یک کلمه با فاصله ای عیناً تکرار شود ... Ali Ali
    در واقع مورد مچ شده با گروه پرانتزی اول "تسخیر" شده و در بلوکی با ایندکس 1 قرار خواهد گرف و بعداً میتوان چک کنیم که ان بلوک تسخیر شده عیناً تکرار شده یا نه.


    حالا تازه میرسیم به سوال شما در مورد کالن یا کولن یا همان دو نقطه خودمان!
    عبارت regex زیر یک گروه را تعریف میکند که تسخیر روی ان انجام نمیشود
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    =====

    در واقع عبارت Regex شما بیشتر باید کاربرد در پارسرهای BBCode داشته باشد و با مطالب بیان شده گمانم به راحتی بتوانید تحلیلش کنید.

    موفق باشید.

  12. 2 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •