با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
در این جلسه قصد داریم تا به مبحث عبارات با قاعده در جاوا اسکریپت JavaScript یا همان Regular Expression بپردازیم.
عبارات با قاعده Regular Expression مجموعه کاراکتر هایی هستند که یک الگوی جستجو را تشکیل می دهند.
الگوی جستجو را می توان برای جستجوی متن در جاوا اسکریپت و عملگر های جایگزین کردن متن استفاده کرد.
وقتی شما داده ها را در یک متن جستجو می کنید، می توانید از این الگوی جستجو برای توصیف چیزی که به دنبالش هستید استفاده کنید.
عبارت با قاعده در جاوا اسکریپت می تواند یک کاراکتر یا الگوی پیچیده تری باشد.
ساختار دستور:
1 | /pattern/modifiers; |
مثال:
1 | var patt = /PVLearn/i; |
PVLearn/i/ یک عبارت با قاعده است.
PVLearn یک الگو می باشد (برای استفاده در جستجو)
i یک توصیف کننده است (جستجو را به بزرگی و کوچکی حروف حساس می کند)
عبارات با قاعده در جاوا اسکریپت اغلب با دو تابع ()search و ()replace استفاده می شوند.
تابع ()search از یک عبارات برای جستجوی نتیجه استفاده می کند. و موقعیت نتیجه را بر میگرداند.
تابع ()replace یک رشته تغییر یافته را که الگو در آن جایگزین شده است را بر می گرداند.
1 2 | var str = "Visit PVlearn!"; var n = str.search("PVLearn"); // 6 |
در این مثال از عبارات با قاعده استفاده می کنیم:
1 2 | var str = "Visit PVLearn"; var n = str.search(/pvlearn/i); // 6 |
در مثال زیر با استفاده از عبارت با قاعده و تابع search یک جستجوی حساس به حروف در مورد “PVLearn” انجام می دهیم :
1 2 | var str = "Visit PVLearn"; var n = str.search(/PVLearn/i); |
1 2 | var str = "Visit Microsoft!"; var res = str.replace("Microsoft", "PVLearn"); |
در این مثال از تابع search عبارات با قاعده استفاده می کنیم:
1 2 | var str = "Visit Microsoft!"; var res = str.replace(/microsoft/i, "pvlearn"); // Visit PVLearn |
توصیف کننده ها را می توان برای انجام جستجو های سراسری حساس به بزرگی و کوچکی حروف استفاده کرد.
توضیحات | توصیف کننده |
جستجو حساس به بزرگی و کوچکی حروف. | i |
مانند i با این تفاوت که تمام نتایج را پیدا می کند و بعد از رسیدن به اولین نتیجه متوقف نمی شود). | g |
جستجوی چند خطی را انجام می دهد. | m |
براکت ها برای پیدا کردن محدوه ای از کراکتر ها استفاده می شوند.
توضیحات | عبارت |
کاراکتر های بین براکت را پیدا می کند | [abc] |
ارقام بین براکت را پیدا می کند | [۰-۹] |
تمام گزینه های جدا شده با | را پیدا می کند | [x|y] |
متا کاراکتر ها:
توضیحات | متا کاراکتر |
یک عدد را پیدا می کند | d\ |
کاراکتر های جای خالی space را پیدا می کند | s\ |
نتیجه را در ابتدا یا انتهای کلمه پیدا می کند | b\ |
کاراکتری را با یونیکد مشخص شده xxxx پیدا می کند | uxxxx\ |
کوانتومی | توضیحات |
---|---|
n+ | هر رشته ای که حاوی حداقل یک n است، مطابقت دارد. |
n* | هر رشته ای که حاوی یک صفر یا چند n است، مطابقت دارد. |
n? | هر رشته ای که حاوی صفر یا یک رخداد از n است، مطابقت دارد. |
در جاوا اسکریپت، آبجکت RegExp یک آبجکت عبارت منظم با خواص و متدهای از پیش تعریف شده است.
متد ()test یک متد عبارت منظم RegExp است.
این یک رشته را برای یک الگو جستجو می کند و بسته به هدف ، نتیجه ی واقعی یا غلط را می دهد.
مثال زیر یک رشته برای کاراکتر “e” را جستجو می کند:
1 2 | var patt = /e/; patt.test("The best things in life are free!"); |
لازم نیست که حتما عبارات منظم را در یک متغیر قرار دهید. دو خط بالا را می توان در یک خط کوتاه کرد:
1 | /e/.test("The best things in life are free!"); |
متد () exec یک روش بیان RegExp است.
این یک رشته را برای یک الگوی مشخص جستجو می کند و متن یافت شده را به عنوان یک آبجکت پیدا می کند.
اگر هیچ نتیجه ای یافت نشد، یک آبجکت (خالی) باز می شود.
مثال زیر یک رشته برای کاراکتر”e” را جستجو می کند:
جلسه آموزش عبارات با قاعده در جاوا اسکریپت JavaScript نیز به پایان رسید.
در جلسه بعد به آموزش مدیریت خطا در جاوا اسکریپت خواهیم پرداخت. با ما همراه باشد.
مسلم پارساراد
good