بستن منو
۴۴
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با عبارات قاعده مند (Regular Expressions)
مباحث اولیه برای آشنایی با عبارات قاعده مند (Regular Expressions)
23
کاراکترهای (Character) خاص، در عبارات قاعده مند (Regular Expressions)
کاراکترهای (Character) خاص، در عبارات قاعده مند (Regular Expressions)
3
کاراکترهای (Character) حروف الفبا، در عبارات قاعده مند (Regular Expressions)
کاراکترهای (Character) حروف الفبا، در عبارات قاعده مند (Regular Expressions)
2
کاراکترهای (Character) عددی (اعداد)، در عبارات قاعده مند (Regular Expressions)
کاراکترهای (Character) عددی (اعداد)، در عبارات قاعده مند (Regular Expressions)
9
تکرار کردن کاراکترها (Character)، در عبارات قاعده مند (Regular Expressions)
تکرار کردن کاراکترها (Character)، در عبارات قاعده مند (Regular Expressions)
2
مجموعه های کاراکتر (Character Set)، در عبارات قاعده مند (Regular Expressions)
مجموعه های کاراکتر (Character Set)، در عبارات قاعده مند (Regular Expressions)
0
مجموعه های کاراکتر کوتاه (Shorthand Character Set)، در عبارات قاعده مند (Regular Expressions)
مجموعه های کاراکتر کوتاه (Shorthand Character Set)، در عبارات قاعده مند (Regular Expressions)
2
گروه (Group) کاراکترها (Character)، در عبارات قاعده مند (Regular Expressions)
گروه (Group) کاراکترها (Character)، در عبارات قاعده مند (Regular Expressions)
0
کار با تگ ها (Tag) در زبان های برنامه نویسی (مثل HTML)، در عبارات قاعده مند (Regular Expressions)
کار با تگ ها (Tag) در زبان های برنامه نویسی (مثل HTML)، در عبارات قاعده مند (Regular Expressions)
3

783

نویسنده

علیرضا گلمکانی ( admin )

شماره کلید
دسته کلید - دسته بندی

تنبل (Lazy) کردن عبارات قاعده مند (Regular Expressions) (برعکس حالت پیش فرض حریص (Greedy) بودن)، به این معنی که در یک متن (عبارت خاص)، از بین یک عبارت کوتاه از آن متن و یک عبارت طولانی از آن متن، که هر دو در عبارت قاعده مند صدق می کنند (و البته تعدادی کاراکتر مشترک دارند)، عبارت کوتاه تر انتخاب شود، با علامت ? ، در عبارات قاعده مند (Regular Expressions)

در کلید شماره 782 در مورد مفهوم حریص (Greedy) بودن عبارات قاعده مند (Regular Expressions) صحبت کردیم و گفتیم که حریص (Greedy) بودن، به عنوان یک پیش فرض، در عبارات قاعده مند (Regular Expressions) وجود دارد. به این معنی که در یک متن (عبارت خاص)، از بین یک عبارت کوتاه از آن متن و یک عبارت طولانی از آن متن، که هر دو در عبارت قاعده مند (Regular Expressions) صدق می کنند (و البته تعدادی کاراکتر مشترک دارند)، عبارت طولانی تر انتخاب می شود. به همین دلیل است که اصطلاح حریص (Greedy) بودن برای این مفهوم انتخاب شده است، زیرا در اصطلاح می توان گفت که عبارات قاعده مند (Regular Expressions) برای یافتن عبارت های طولانی تر، حرص می زند.

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

حالت برعکس حریص (Greedy) بودن را تنبل (Lazy) بودن عبارات قاعده مند (Regular Expressions) می نامند و برای اینکه یک عبارات قاعده مند (Regular Expressions) را از حالت پیش فرض حریص (Greedy) بودن (انتخاب عبارت طولانی تر) به حالت تنبل (Lazy) بودن (انتخاب عبارت کوتاه تر) تبدیل کنیم، باید علامت ? را به کار ببریم.

برای اینکه این مورد را به خوبی درک کنید، همان مثال های ارائه شده در کلید شماره 782 را این بار به همراه علامت ? ذکر می کنیم :

مثال

ابتدا حالت بدون استفاده از علامت ? را بیان می کنیم :

حالت پیش فرض حریص (Greedy) بودن (انتخاب عبارت طولانی تر) : بدون استفاده از علامت ?

عبارت قاعده مند (Regular Expressions) زیر را برای اشاره به تمامی عبارت های به شکل اعداد 5 رقمی تا 8 رقمی موجود در یک متن، می نویسیم ( کلید شماره 779 ) :

طرح رنگ

حال فرض کنید که در متن مورد نظرمان، عدد 8 رقمی زیر را داریم :

طرح رنگ

بنابراین هر یک از عبارت های زیر که از همه یا بخشی از ابتدای عبارت بالا به دست می آیند، در آن عبارت قاعده مند (Regular Expressions) صدق می کنند، اما تنها باید یکی به عنوان عبارت صدق کرده، انتخاب شود :

طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ

با توجه به مفهوم حریص (Greedy) بودن عبارات قاعده مند (Regular Expressions) (که به صورت پیش فرض وجود دارد)، طولانی ترین آنها، یعنی خود عدد 8 رقمی، به عنوان عبارت صدق کرده، انتخاب می شود :

طرح رنگ

بنابراین سایر عبارت ها که بر اساس چند رقم اول از ابتدای آن عدد 8 رقمی بودند، به دلیل کوتاه تر بودن، انتخاب نشدند.

حالت تنبل (Lazy) بودن (انتخاب عبارت کوتاه تر) : با استفاده از علامت ?

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

طرح رنگ

بنابراین اکنون برای عبارت قاعده مند (Regular Expressions)، به جای حالت پیش فرض حریص (Greedy) بودن (انتخاب عبارت طولانی تر)، حالت تنبل (Lazy) بودن (انتخاب عبارت کوتاه تر) را داریم. پس این دفعه عبارت زیر در عبارت قاعده مند (Regular Expressions) صدق می کند، زیرا کوتاه ترین عبارت می باشد :

طرح رنگ
مثال

ابتدا حالت بدون استفاده از علامت ? را بیان می کنیم :

حالت پیش فرض حریص (Greedy) بودن (انتخاب عبارت طولانی تر) : بدون استفاده از علامت ?

عبارت قاعده مند (Regular Expressions) زیر را برای اشاره به تمامی عبارت های به شکل عبارت های شامل کاراکترهای ساخت کلمه (Word Character) با تعداد کاراکتر دلخواه، موجود در یک متن، می نویسیم :

طرح رنگ

که در آن، عبارت w\ بیانگر یک مجموعه کاراکتر کوتاه (Shorthand Character Set) است ( کلید شماره 771 ) که شامل کاراکترهای ساخت کلمه (Word Character) که در زیر نشان داده ایم، می باشد :

طرح رنگ

کاربرد علامت + هم این است که امکان تکرار شدن کاراکتر (در اینجا، کاراکتری از کاراکترهای ساخت کلمه (Word Character)) را به وجود می آورد (به صورت حداقل 1 بار تکرار تا هر تعداد بار دلخواه) ( کلید شماره 3068 ).

حال فرض کنید که در متن مورد نظرمان، عبارت زیر را داریم :

طرح رنگ

بنابراین هر یک از عبارت های زیر که از همه یا بخشی از ابتدای عبارت بالا به دست می آیند، در آن عبارت قاعده مند (Regular Expressions) صدق می کنند، اما تنها باید یکی به عنوان عبارت صدق کرده، انتخاب شود :

طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ

اما سوال این است که کدامیک باید انتخاب شود ؟

با توجه به مفهوم حریص (Greedy) بودن عبارات قاعده مند (Regular Expressions) (که به صورت پیش فرض وجود دارد)، طولانی ترین آنها، یعنی خود عبارت kelidestan ، به عنوان عبارت صدق کرده، انتخاب می شود :

طرح رنگ

بنابراین سایر عبارت ها که بر اساس چند کاراکتر اول از ابتدای عبارت kelidestan بودند، به دلیل کوتاه تر بودن، انتخاب نشدند.

حالت تنبل (Lazy) بودن (انتخاب عبارت کوتاه تر) : با استفاده از علامت ?

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

طرح رنگ

بنابراین اکنون برای عبارت قاعده مند (Regular Expressions)، به جای حالت پیش فرض حریص (Greedy) بودن (انتخاب عبارت طولانی تر)، حالت تنبل (Lazy) بودن (انتخاب عبارت کوتاه تر) را داریم. پس این دفعه عبارت زیر در عبارت قاعده مند (Regular Expressions) صدق می کند، زیرا کوتاه ترین عبارت می باشد :

طرح رنگ

اما دقت کنید که در این حالت، بقیه عبارت kelidestan ، یعنی elidestan نیز شامل تک کاراکترهایی هستند که هر کدام به عنوان یک عبارت جداگانه می توانند در عبارت قاعده مند (Regular Expressions) تعیین شده، صدق کنند.

بنابراین عملا عبارت های زیر در عبارت قاعده مند (Regular Expressions) مورد نظر صدق می کنند :

طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ
طرح رنگ

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

به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)

جستجو در کلیدستان، توسط گوگل

جستجو در عنوان کلیدها

دسترسی سریع

×

شماره کلید


کلید
×

شماره دسته کلید


دسته کلید
×

جستجو


جستجو
بستن منو
۱۱
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
دسترسی سریع به دسته کلیدها :

Regular Expressions
مجموعه ویدئوهای آموزشی عبارات قاعده مند (Regular Expressions) - مجموعه Regular Expressions
مجموعه ویدئوهای آموزشی عبارات قاعده مند (Regular Expressions) - مجموعه Regular Expressions
11