Baseline Widely available
ÐеÑод [@@search]()
вÑполнÑÐµÑ Ð¿Ð¾Ð¸Ñк ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ ÑегÑлÑÑнÑм вÑÑажением this
и ÑÑÑокой.
regexp[Symbol.search](str)ÐаÑамеÑÑÑ
str
String
, ÑвлÑÑÑийÑÑ Ð¾Ð±ÑекÑом поиÑка.
Ð ÑлÑÑае ÑÑпеÑ
а, [@@search]()
веÑнÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ð¿ÐµÑвого ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ ÑегÑлÑÑного вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²Ð½ÑÑÑи ÑÑÑоки. РпÑоÑивном ÑлÑÑае, он веÑнÑÑ -1.
ÐÑÐ¾Ñ Ð¼ÐµÑод вÑзÑваеÑÑÑ Ð²Ð½ÑÑÑеннее в String.prototype.search()
. ÐапÑимеÑ, два ÑледÑÑÑиÑ
пÑимеÑа веÑнÑÑ Ð¾Ð´Ð¸Ð½ и ÑÐ¾Ñ Ð¶Ðµ ÑезÑлÑÑаÑ.
"abc".search(/a/);
/a/[Symbol.search]("abc");
ÐÑÐ¾Ñ Ð¼ÐµÑод ÑÑÑеÑÑвÑÐµÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¸Ñка в подклаÑÑаÑ
RegExp
.
ÐÑÐ¾Ñ Ð¼ÐµÑод можно иÑполÑзоваÑÑ Ð¿Ð¾ÑÑи Ñак же, как String.prototype.search()
, за иÑклÑÑением дÑÑгого this
и дÑÑгого поÑÑдка аÑгÑменÑов.
var re = /-/g;
var str = "2016-01-02";
var result = re[Symbol.search](str);
console.log(result); // 4
ÐÑполÑзÑÑ @@search
в подклаÑÑаÑ
ÐодклаÑÑ RegExp
Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÐµÑезапиÑан Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑода [@@search]()
Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ.
class MyRegExp extends RegExp {
constructor(str) {
super(str);
this.pattern = str;
}
[Symbol.search](str) {
return str.indexOf(this.pattern);
}
}
var re = new MyRegExp("a+b");
var str = "ab a+b";
var result = str.search(re); // String.prototype.search calls re[@@search].
console.log(result); // 3
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
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