В этой статье мы рассмотрим, как выполнить поиск строки по шаблону в JavaScript. Мы будем использовать следующие методы для поиска строки:
Подход 1: Здесь мы узнаем, как искать строку, содержащую заданный шаблон в JavaScript. Метод string.search () — это встроенный метод в JavaScript, который используется для этой цели. Он ищет совпадение между регулярными выражениями в заданной строке.
Синтаксис:
let position = str.search( expression )
Параметры: Метод string.search() принимает два параметра:
- String name (имя строки): В качестве параметра берется имя строки, в которой мы хотим выполнить поиск по шаблону.
- Expression (выражение): Это шаблон/ подстрока, которую мы хотим проверить, присутствует ли она в приведенной выше строке.
Возвращаемое значение: Оно возвращает значение индекса первого соответствующего регулярного выражения в данной строке, в противном случае оно возвращает -1. Он начинается с индекса 0, и если какой-либо алфавит совпадает, он возвращает соответствующий индекс и не проверяет дальше.
Пример 1:
<script>
// Taking input a string.
var string = "GeeksforGeeks is computer science portal";
// Taking a regular expression.
var regexp1 = /G/;
var regexp2 = /c/;
var regexp3 = /z/;
// Output
console.log(string.search(regexp1));
//Expected Output: 0
console.log(string.search(regexp2));
// Expected Output: 17
console.log(string.search(regexp3));
// Expected Output: -1
</script>
Выход:
0
17
-1
Пояснение: Мы можем наблюдать, что первое совпадение “G” происходит при индексе 0, тогда как первое совпадение «c«происходит при 17-м индексе, тогда как алфавит»z«отсутствует в строке» GeeksforGeeks-портал компьютерных наук», поэтому возвращает -1.
Пример 2:
<script>
// Taking input a string.
var string = "GeeksforGeeks is computer science portal";
// Taking a regular expression.
var regexp = /cie/;
console.log(string.search(regexp));
// Expected Output: 27
</script>
Выход:
27
Пояснение: Мы можем заметить, что выражение » cie » совпадает со строкой с индексом 27. Таким образом, он возвращает индекс первого совпадающего элемента регулярного выражения ( здесь » c » в «cie»), если он присутствует в данной строке.
Подход 2: Мы также можем использовать функцию сопоставления строк Javascript (), которая возвращает массив, содержащий данное выражение, всякий раз, когда найдено соответствие с данной строкой, иначе возвращает значение null.
Синтаксис:
string.match( expression )
Параметры: Здесь требуется два параметра:
- String name (имя строки): В качестве параметра берется имя строки, в которой мы хотим выполнить поиск по шаблону.
- Expression (выражение): Это шаблон/ подстрока, которую мы хотим проверить, присутствует ли она в приведенной выше строке.
Пример 1:
<script>
// Taking input a string.
let string = "GeeksforGeeks is computer science portal";
console.log(string.match(/rGe/g));
</script>
Выход:
['rGe'] 0: "rGe" length: 1 [[Prototype]]: Array(0)
Таким образом, он возвращает массив, длина которого равна единице, поскольку между данным выражением и строкой существует только одно совпадение. Флаг “g” помогает найти соответствие с учетом регистра между данной строкой и выражением.
Для глобального совпадения без учета регистра мы можем использовать флаг “gi”, который вернет все возможные комбинации из данной строки.
Пример 2:
<script>
// Taking input a string.
let string = "GeeksforGeeks is computer "
+ "science portal for computer geeks";
console.log(string.match(/gee/gi));
</script>
Выход:
['Gee', 'Gee', 'gee']
0: "Gee"
1: "Gee"
2: "gee"
length: 3
[[Prototype]]: Array(0)
Таким образом, он возвращает массив длины три, который содержит все возможные комбинации между заданным выражением/шаблоном и строкой.