В этой статье мы увидим, как искать шаблон в строке в JavaScript. Мы будем использовать следующие методы для поиска строки:
Подход 1
Здесь мы узнаем, как искать строку, которая включает в себя заданный шаблон в JavaScript. Метод string.search () — это встроенный метод в JavaScript, который используется для этой цели. Он ищет совпадения между регулярными выражениями в заданной строке.
Синтаксис:
let position = str.search( expression )
Параметры: Метод string.search () принимает два параметра:
- Имя строки: имя строки, в которой мы хотим найти шаблон, принимается в качестве параметра.
- Выражение: это шаблон / подстрока, которую мы хотим проверить, присутствует ли она в приведенной выше строке.
Возвращаемое значение: возвращает значение индекса первого совпадающего регулярного выражения в данной строке, иначе возвращает −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 String match (), которая возвращает массив, содержащий данное выражение, всякий раз, когда обнаруживается совпадение с данной строкой, иначе возвращается null.
Синтаксис:
string.match( 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)
Таким образом, он возвращает массив длиной три, который содержит все возможные комбинации между данным выражением / шаблоном и строкой.