عبارتهای عینی JavaScript
- صفحه قبلی عملگرهای بیت JS
- صفحه بعدی مرتبهبندی اولویت عملگرهای JS
عبارتهای正则会کتی رشتهای از کاراکترها برای تشکیل الگوی جستجو هستند.
این الگوی جستجو میتواند برای عملیات جستجو و جایگزینی متن استفاده شود.
چه عبارتهای正则会کتی است؟
عبارتهای正则会کتی تشکیلدهندهالگوی جستجو (search pattern)رشتهای از کاراکترها.
هنگامی که شما در حال جستجو در دادههای متن هستید، میتوانید از الگوی جستجو برای توصیف محتوایی که جستجو میکنید استفاده کنید.
عبارتهای正则会کتی میتواند یک کاراکتر باشد یا الگوی پیچیدهتری باشد.
عبارتهای正则会کتی میتواند برای انجام همه نوعجستجو متنوجایگزینی متنعمل.
structures
/pattern/modifiers;
مثال
var patt = /codew3c/i;
مثال توضیحی:
/codew3c/i
یک عبارتهای正则会کتی است.
codew3c
مدل (مدل) است (در جستجو استفاده میشود).
تزئیندهنده
مودیفیر (مودیفایر) است (تغییر جستجو به غیرحساس به حروف بزرگ و کوچک).
استفاده از روش رشتهای
در JavaScript، عبارتهای正则会کتی اغلب برای دوروشهای رشتهای:search()
و استفاده از روش replace() رشتهای برای پردازش رشتهها
.
search()
این روش از عبارت برای جستجوی تطابق استفاده میکند و سپس موقعیت تطابق را بازمیگرداند.
استفاده از روش replace() رشتهای برای پردازش رشتهها
این روش رشتهای که در آن مدل جایگزین شده است را بازمیگرداند.
استفاده از روش search() رشته برای پردازش رشته
search()
این روش نیز رشتهها را به عنوان پارامتر جستجو میپذیرد. پارامتر رشتهای به عنوان عبارتهای正则会کتی تبدیل خواهد شد:
مثال
جستجو در "W3school" با استفاده از رشته
var str = "Visit CodeW3C.com!"; var n = str.search("W3School");
استفاده از عبارتهای正则会کتی در روش search() رشته
مثال
جستجو غیرحساس به حروف بزرگ و کوچک "codew3c" در رشته با استفاده از عبارتهای正则会کتی
var str = "Visit CodeW3C.com"; var str = "Visit CodeW3C.com";
var n = str.search(/codew3c/i);
نتیجه n خواهد بود:
6
استفاده از روش replace() رشتهای برای پردازش رشتهها
replace()
با استفاده از عبارتهای نمونه غیرحساس به حروف بزرگ و کوچک، Microsoft را در رشته با W3school جایگزین کنید: همچنین پارامترهای رشتهای را به عنوان پارامتر جستجو میپذیرد:
var res = str.replace("Microsoft", "W3School");
مثال
استفاده از عبارتهای نمونه در روش replace() رشتهای
با استفاده از عبارتهای نمونه غیرحساس به حروف بزرگ و کوچک، Microsoft را در رشته با W3school جایگزین کنید: var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "W3School");
نتیجه res خواهد بود:
Visit CodeW3C.com!
آیا متوجه شدید؟
پارامترهای عبارتهای نمونه (در عوض پارامترهای رشتهای) میتوانند در روشهای بالا استفاده شوند.
عبارتهای نمونه میتوانند جستجوهای شما را قویتر کنند (مثلاً بدون توجه به حروف بزرگ و کوچک).
تزئیندهندههایی که میتوانند برای جستجوی جهانیتر استفاده شوند:تزئیندهندههای عبارتهای نمونه
تزئیندهندههایی که میتوانند برای جستجوی جهانیتر استفاده شوند: | توضیح | آموزش |
---|---|---|
تزئیندهنده | اجرای تطبیق بدون توجه به حروف بزرگ و کوچک. | آموزش |
g | اجرای تطبیق جهانی (جستجوی همه تطبیقات به جای توقف پس از یافتن اولین تطابق). | آموزش |
m | اجرای تطبیق چند خطی. | آموزش |
مدل عبارتهای نمونه
گوشههابرای جستجوی رشتههای در یک محدوده استفاده میشود:
عبارت | توضیح | آموزش |
---|---|---|
[abc] | هر کاراکتری بین گوشهها را پیدا میکند. | آموزش |
[0-9] | هر عددی از 0 تا 9 را پیدا میکند. | آموزش |
(x|y) | هر یک از گزینههای جدا شده با | را پیدا میکند. | آموزش |
کاراکترهای ویژه (Metacharacter)کاراکترهایی هستند که دارای معنای خاصی دارند:
کاراکترهای ویژه | توضیح | آموزش |
---|---|---|
\d | اعداد را پیدا میکند. | آموزش |
\s | کاراکترهای خالی را پیدا میکند. | آموزش |
\b | لبههای کلمه را تطبیق میدهد. | آموزش |
\uxxxx | Unicode حروفی را که با عدد هگزادسیمال xxxx مشخص شدهاند پیدا میکند. | آموزش |
مقیاسدهندهها مقیاسدهنده را تعریف کنید:
مقیاسدهنده | توضیح | آموزش |
---|---|---|
n+ | هر رشتهای که شامل حداقل یک n است را تطبیق میدهد. | آموزش |
n* | هر رشتهای که شامل صفر یا بیشتر n است را تطبیق میدهد. | آموزش |
n? | هر رشتهای که شامل صفر یا یک n است را تطبیق میدهد. | آموزش |
از شیRegExp استفاده کنید
در JavaScript، شیRegExp یک شیء عبارتهای نمونه با ویژگیها و روشهای پیشتعریف شده است.
از test() استفاده کنید
test()
یک روش عبارتهای نمونه است.
این از طریق الگوها برای جستجوی رشتهها استفاده میکند و سپس بر اساس نتایج به true یا false بازمیگردد.
در این مثال، رشته
مثال
var patt = /e/; patt.test("The best things in life are free!");
به دلیل وجود یک "e" در رشته، خروجی کد بالا خواهد بود:
true
لازم نیست ابتدا یک متغیر برای عبارت جستجو ایجاد کنید. دو خط بالا میتوانند به یک خط کوتاهتر تبدیل شوند:
/e/.test("The best things in life are free!");
استفاده از exec()
exec()
روش یک روش正則سازی است.
این روش از طریق یک الگو (pattern) در رشته جستجو میکند و رشتههای یافت شده را بازمیگرداند.
در این مثال، رشته
مثال
/e/.exec("The best things in life are free!");
به دلیل وجود یک "e" در رشته، خروجی کد بالا خواهد بود:
e
منبع راهنمایی کامل RegExp
برای دسترسی به منبع راهنمایی کامل، لطفاً به منابع ما کامل مراجعه کنید منبع راهنمایی RegExp JavaScript.
این منبع راهنمایی شامل توضیحات و مثالهای تمامی ویژگیها و روشهای RegExp است.
- صفحه قبلی عملگرهای بیت JS
- صفحه بعدی مرتبهبندی اولویت عملگرهای JS