A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/RegExp/Symbol.search below:

RegExp.prototype[@@search]() - JavaScript | MDN

RegExp.prototype[@@search]()

Baseline Widely available

Метод [@@search]() выполняет поиск совпадения между регулярным выражением this и строкой.

Синтаксис
regexp[Symbol.search](str)
Параметры
str

String, являющийся объектом поиска.

Возвращаемое значение
integer

В случае успеха, [@@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