Baseline Widely available
СводкаÐеÑод exec()
вÑполнÑÐµÑ Ð¿Ð¾Ð¸Ñк ÑопоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑегÑлÑÑного вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð² Ñказанной ÑÑÑоке. ÐозвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив Ñ ÑезÑлÑÑаÑами или null
.
ÐÑли ÑелÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑвлÑеÑÑÑ Ð¿ÑоÑÑо опÑеделиÑÑ, пÑоÑ
Ð¾Ð´Ð¸Ñ Ð¾Ð½Ð¾ или неÑ, иÑполÑзÑйÑе меÑод RegExp.prototype.test()
, либо меÑод ÑÑÑоки String.prototype.search()
.
str
СÑÑока, Ñ ÐºÐ¾ÑоÑой пÑоизводиÑÑÑ ÑопоÑÑавление ÑегÑлÑÑного вÑÑажениÑ.
ÐÑли ÑопоÑÑавление ÑÑпеÑно вÑполнилоÑÑ, меÑод exec()
возвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив и обновлÑÐµÑ ÑвойÑÑва обÑекÑа ÑегÑлÑÑного вÑÑажениÑ. ÐозвÑаÑаемÑй маÑÑив в пеÑвом ÑлеменÑе ÑодеÑÐ¶Ð¸Ñ ÑопоÑÑавленнÑй ÑекÑÑ, а в поÑледÑÑÑиÑ
ÑлеменÑаÑ
â ÑекÑÑ, заÑ
ваÑеннÑй пÑи ÑопоÑÑавлении кÑÑглÑми Ñкобками.
ÐÑли ÑопоÑÑавление не ÑдалоÑÑ, меÑод exec()
возвÑаÑÐ°ÐµÑ null
.
РаÑÑмоÑÑим ÑледÑÑÑий пÑимеÑ:
// СопоÑÑавлÑеÑÑÑ Ñ ÑÑазой «кайÑ, ÑплÑÑÑ», за коÑоÑой ÑледÑÐµÑ Ñлово «вÑи»,
// игноÑиÑÑÑ Ð»ÑбÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸. ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°ÐµÑ Ñлова «ÑплÑÑÑ» и «вÑи».
// ÐгноÑиÑÑÐµÑ ÑегиÑÑÑ Ñимволов.
var re = /кайÑ,\s(ÑплÑÑÑ).+?(вÑи)/gi;
var result = re.exec("ÐÑ
, ÑÑжд кайÑ, ÑплÑÑÑ Ð¾Ð±ÑÑм вÑи, гÑÑÐ·Ñ ÑенÑ.");
ТаблиÑа ниже показÑÐ²Ð°ÐµÑ ÑезÑлÑÑаÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ пÑимеÑа:
result
[0]
ÐÑе ÑопоÑÑавивÑиеÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð² ÑÑÑоке. кайÑ, ÑплÑÑÑ Ð¾Ð±ÑÑм вÑи
[1], ...[n]
СопоÑÑавивÑиеÑÑ Ð¿Ð¾Ð´ÑÑÑоки в кÑÑглÑÑ
ÑкобкаÑ
, еÑли они пÑиÑÑÑÑÑвÑÑÑ. ÐолиÑеÑÑво возможнÑÑ
подÑÑÑок ниÑем не огÑаниÑено. [1] = ÑплÑÑÑ
[2] = вÑи
index
ÐÐ½Ð´ÐµÐºÑ ÑопоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² ÑÑÑоке, наÑинаеÑÑÑ Ñ Ð½ÑлÑ. 9
input
ÐÑигиналÑÐ½Ð°Ñ ÑÑÑока. ÐÑ
, ÑÑжд кайÑ, ÑплÑÑÑ Ð¾Ð±ÑÑм вÑи, гÑÑÐ·Ñ ÑенÑ.
re
lastIndex
ÐндекÑ, Ñ ÐºÐ¾ÑоÑого наÑнÑÑÑÑ ÑледÑÑÑÐ°Ñ Ð¿Ð¾Ð¿ÑÑка ÑопоÑÑавлениÑ. ÐÑли оÑÑÑÑÑÑвÑÐµÑ Ñлаг "g"
, оÑÑаÑÑÑÑ ÑавнÑм нÑлÑ. 31
ignoreCase
УказÑваеÑ, ÑÑо в ÑегÑлÑÑном вÑÑажении иÑполÑзÑеÑÑÑ Ñлаг игноÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑегиÑÑÑа "i"
. true
global
УказÑваеÑ, ÑÑо в ÑегÑлÑÑном вÑÑажении иÑполÑзÑеÑÑÑ Ñлаг глобалÑного ÑопоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ "g"
. true
multiline
УказÑваеÑ, ÑÑо в ÑегÑлÑÑном вÑÑажении иÑполÑзÑеÑÑÑ Ñлаг ÑопоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ неÑколÑким ÑÑÑокам "m"
. false
source
ТекÑÑ Ñаблона ÑегÑлÑÑного вÑÑажениÑ. кайÑ,\s(ÑплÑÑÑ).+?(вÑи)
ÐÑимеÑÑ ÐÑимеÑ: поиÑк поÑледоваÑелÑнÑÑ
ÑопоÑÑавлений
ÐÑли ваÑе ÑегÑлÑÑное вÑÑажение иÑполÑзÑÐµÑ Ñлаг "g"
, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¼ÐµÑод exec()
неÑколÑко Ñаз Ð´Ð»Ñ Ð½Ð°Ñ
Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑледоваÑелÑнÑÑ
ÑопоÑÑавлений в одной и Ñой же ÑÑÑоке. ÐÑли Ð²Ñ ÑделаеÑе ÑÑо, поиÑк наÑнÑÑÑÑ Ð¿Ð¾ подÑÑÑоке ÑÑÑоки str
, наÑало коÑоÑой опÑеделÑеÑÑÑ ÑвойÑÑвом lastIndex
ÑегÑлÑÑного вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ (меÑод test()
Ñакже ÑвелиÑÐ¸Ð²Ð°ÐµÑ ÑвойÑÑво lastIndex
). ÐапÑимеÑ, пÑедположим, ÑÑо Ñ Ð²Ð°Ñ ÐµÑÑÑ ÑледÑÑÑий ÑкÑипÑ:
var myRe = /аб*/g;
var str = "аббвгдеабж";
var myArray;
while ((myArray = myRe.exec(str)) !== null) {
var msg = "Ðайдено " + myArray[0] + ". ";
msg += "СледÑÑÑее ÑопоÑÑавление наÑнÑÑÑÑ Ñ Ð¿Ð¾Ð·Ð¸Ñии " + myRe.lastIndex;
console.log(msg);
}
ÐÑÐ¾Ñ ÑкÑÐ¸Ð¿Ñ Ð²ÑÐ²ÐµÐ´ÐµÑ ÑледÑÑÑий ÑекÑÑ:
Ðайдено абб. СледÑÑÑее ÑопоÑÑавление наÑнÑÑÑÑ Ñ Ð¿Ð¾Ð·Ð¸Ñии 3
Ðайдено аб. СледÑÑÑее ÑопоÑÑавление наÑнÑÑÑÑ Ñ Ð¿Ð¾Ð·Ð¸Ñии 9
ÐÑимеÑание: не помеÑайÑе лиÑеÑал ÑегÑлÑÑного вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ (или конÑÑÑÑкÑÐ¾Ñ RegExp
) внÑÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ while
; ÑÑо пÑиведÑÑ Ðº беÑконеÑÐ½Ð¾Ð¼Ñ ÑиклÑ, поÑколÑÐºÑ ÑвойÑÑво lastIndex
бÑÐ´ÐµÑ ÑбÑаÑÑваÑÑÑÑ Ð² Ð½Ð¾Ð»Ñ Ð½Ð° каждой иÑеÑаÑии Ñикла. Также ÑбедиÑеÑÑ, ÑÑо ÑÑÑановлен Ñлаг глобалÑного ÑопоÑÑавлениÑ, в пÑоÑивном ÑлÑÑае Ñикл бÑÐ´ÐµÑ Ð±ÐµÑконеÑнÑм.
exec()
вмеÑÑе Ñ Ð»Ð¸ÑеÑалами ÑегÑлÑÑного вÑÑажениÑ
ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¼ÐµÑод exec()
без ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ð±ÑекÑа RegExp
:
var matches = /(пÑÐ¸Ð²ÐµÑ \S+)/.exec("ÐÑо пÑÐ¸Ð²ÐµÑ Ð¼Ð¸ÑÑ!");
console.log(matches[1]);
СкÑÐ¸Ð¿Ñ Ð²ÑÐ²ÐµÐ´ÐµÑ Ð² жÑÑнал ÑÑÑÐ¾ÐºÑ Â«Ð¿ÑÐ¸Ð²ÐµÑ Ð¼Ð¸ÑÑ!».
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе ÑакжеRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4