مетод exec() JavaScript RegExp
- صفحه قبل compile()
- صفحه بعد test()
- بازگشت به طبقه قبل مرجع JavaScript RegExp
تعریف و استفاده
exec()
این روش هماهنگیهای موجود در رشته را تست میکند.
این روش یک مدل هماهنگی عمومی است.
اگر هماهنگی پیدا شد، آرایه نتایج را بازمیگرداند، در غیر این صورت null
.
مثال
مثال 1
جستجوی کاراکتر "e" در رشته:
let text = "The best things in life are free"; let result = /e/.exec(text);
مثال 2
جستجوی جهانی "Hello" و "W3School" در رشته:
let text = "Hello world!"; // جستجو "Hello" let result1 = /Hello/.exec(text); // جستجو "W3School" let result2 = /W3School/.exec(text);
رابطکاربری
توجه داشته باشید که در هر صورت،.exec(با استفاده از lastIndex تنظیم شده در آن، رشته را جستجو کنید.)
پارامتر
پارامتر | توضیح |
---|---|
با استفاده از lastIndex تنظیم شده در آن، رشته را جستجو کنید. | ضروری. رشتهای که باید جستجو شود. |
مقدار بازگشتی
نوع | توضیح |
---|---|
آرایه | اگر هماهنگی پیدا شد، آرایهای شامل متن هماهنگ شده را شامل میشود، در غیر این صورت null بازمیگرداند. |
جزئیات فنی
مقدار بازگشتی
آرایه، شامل نتایج هماهنگی است. اگر هماهنگی پیدا نشد، مقدار null
در اینجا توضیح داده شده است که فرمت آرایهای که بازگشتی است.
پرتاب میشود.
نوع | توضیح |
---|---|
TypeError | در صورت اینکه شیء فراخوانی شده مدل RegExp نباشد، این استثنا پرتاب میشود. |
توضیحات
در همه روشهای هماهنگی مدل RegExp و روشهای هماهنگی مدل Stringexec()
بیشترین قدرت را دارند. این یک روش عمومی است که استفاده از آن سادهتر از RegExp.test()وString.replace() اطلاعات کامل به آنهایی که به آنها بازمیگردد اضافه میشود. این به این معناست که و بسیار پیچیده هستند.
exec()
عبارت را جستجو میکند با استفاده از lastIndex تنظیم شده در آن، رشته را جستجو کنید.از اینجا به عبارت تقویت شده توجه داشته باشید که در هر صورت، عبارت هماهنگ شده. exec()
اگر متن هماهنگ شده پیدا شد، یک آرایه نتایج بازمیگرداند. در غیر این صورت، null
این عبارت به عنوان متن هماهنگ شده با عبارت در علامت 0 از آرایه بازگشتی است. علامت 1 عبارت هماهنگ شده است. توجه داشته باشید که در هر صورت، 的第一个子表达式相匹配的文本(如果存在)。第 2 个元素是与 توجه داشته باشید که در هر صورت، اولین زیرعبارت تطابقیافته با آن مطابقت دارد (اگر وجود دارد). دومین عنصر باexec()
دومین زیرعبارت تطابقیافته با آن مطابقت دارد. به همین ترتیب. معمولاً، طول آرایهها تعداد عناصر را نشان میدهد. علاوه بر عناصر آرایه و طول آرایه، با استفاده از lastIndex تنظیم شده در آن، رشته را جستجو کنید.همچنین دو属性 بازمیگرداند.属性 index، اولین موقعیت حرف متن تطابقیافته را نشان میدهد.属性 input به رشته اشاره دارد که exec()
روشهای بازگشتی و روشهای بازگشتی مشابهی است.
در یک مدل جهانی غیر جهانی فراخوانی میشود، exec()
روش جستجو را انجام میدهد و نتایج بالا را بازمیگرداند. اما وقتی که توجه داشته باشید که در هر صورت، وقتی که یک مدل جهانی است،exec()
وقتی که یک مدل جهانی است، توجه داشته باشید که در هر صورت، رفتار با استفاده از lastIndex تنظیم شده در آن، رشته را جستجو کنید. string توجه داشته باشید که در هر صورت، نمونه lastIndex را به اولین حرف متن تطابقیافته تنظیم میکند. این به این معناست که میتوانید با تکرار exec()
روش برای جستجوی تمام متنهای تطابقیافته در رشته. زمانی که exec() دیگر نمیتواند متن تطابقیافتهای پیدا کند، null
و lastIndex را به 0 بازمیگرداند. اگر پس از یک تطابق کامل مدلهای جهانی در یک رشته دیگر شروع به جستجو میکنید، باید به صورت دستی lastIndex را به 0 بازگردانید.
و توجه داشته باشید که در هر صورت، regexpexec()
اینکه آیا مدل جهانی است یا خیر، exec()
اطلاعات کامل به آنهایی که به آنها بازمیگردد اضافه میشود. این به این معناست که و String.match() exec()
این روش تنها روشی است که اطلاعات کامل تطابق کامل مدلهای جهانی را ارائه میدهد. در واقع، اطلاعات ارائه شده توسط مدلهای جهانی بسیار کمتر است. در واقع، در یک چرخه، با تکرار
پشتیبانی مرورگر
exec()
این یک ویژگی ECMAScript1 (ES1) است.
همه مرورگرها کاملاً از ES1 (JavaScript 1997) پشتیبانی میکنند:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
پشتیبانی | پشتیبانی | پشتیبانی | پشتیبانی | پشتیبانی | پشتیبانی |
روشهای جستجوی عبارت تقویتی
در JavaScript، جستجوی متن عبارت تقویتی میتواند با روشهای مختلف انجام شود.
استفادهالنمونهبه عنوان یک عبارت تقویتی، اینها از روشهای معمولی هستند:
مثال | توضیح |
---|---|
text.match(النمونه) | مетод تطابق رشته |
text.search(النمونه) | مетод جستجو رشته |
النمونه.exec(text) | مетод exec() RexExp |
النمونه.test(text) | مетод RexExp test() |
- صفحه قبل compile()
- صفحه بعد test()
- بازگشت به طبقه قبل مرجع JavaScript RegExp