You are currently viewing Как найти строку для шаблона в JavaScript ?

Как найти строку для шаблона в JavaScript ?

В этой статье мы рассмотрим, как выполнить поиск строки по шаблону в 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)

Таким образом, он возвращает массив длины три, который содержит все возможные комбинации между заданным выражением/шаблоном и строкой.