مетод exec() 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()