Регулярные выражения в javascript. Часть 1

Главная » Видеоуроки » JavaScript » Регулярные выражения в javascript. Часть 1
По просьбе одного из моих слушателей я запишу уроки, посвященные регулярным выражениям в javascript. Решил разделить эту непростую тему на несколько уроков. Регулярные выражения — мощный инструмент поиска и замены в строках. Данный урок будет посвящен полезным функциям для работы с регулярными выражениями.
В уроке будут рассмотрены следующие встроенные javascript функции:
1. search — ищет первое совпадение в строке, возвращает позицию найденной строки или -1 в случае неудачи
2. match — похожа на функцию search, но возвращает массив. К тому же может искать не только первое совпадение, но и все совпадения в строке. Для этого надо указать флаг g, который как раз и указывает на то, что искать надо все совпадения. Также важно отметить флаг i, который позволяет вести регистронезависимый поиск (строки «тест» и «ТЕСТ» разные).
3. split — функция выполняет разбивку по разделителю и возвращает массив
4. replace — мощная функция для работы со строками регулярными выражениями.

Код урока (HTML)

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>

<script>
	var exOne = "НаЧИНаем изучать регулярные чин выражения";
	var patternOne = /чин/ig;
	console.log(exOne.search(patternOne)); //search ищет первое совпадение в строке, возвращает позицию найденной строки.

	console.log(exOne.match(patternOne));

	//i - флажок для регистронезависимого поиска
	//g - флажок для полнотекстового поиска в строке (ищет не только первое совпадение)

	var exTwo = "Начинаем изучать регулярные выражения...ЧИН";
	var patternTwo = /чин/gi;

	console.log(exTwo.split(" "));

	console.log(exTwo.replace(" ", ":"));
	console.log(exTwo.replace(/ /g, ":"));
	console.log(exTwo.replace(/изучать/, "$$"));
	console.log(exTwo.replace(/изучать/i, "Сосредоточились и $&"));
	console.log(exTwo.replace(/(начинаем) (изучать)/i, "$2 $1"));

	var exThree = "Камиль камиль kamil";

	function myFunc(match, offset, str) {
		//return "Камиль с большой буквы";
		return match.toUpperCase();
	}

	function secondFunc(match, firstParam, secondParam, offset, str) {
		return secondParam + " and " + firstParam;
	}

	console.log(exThree.replace(/камиль/, myFunc));
	console.log(exThree.replace(/(камиль) (kamil)/, secondFunc));
</script>	

</body>
</html>

2 комментария

  1. Николай

    Большое спасибо за прекрасные уроки

    Reply
    • Камиль

      Здравствуйте, Николай.
      Спасибо. Рад, что вам нравится

      Reply

Submit a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.

Pin It on Pinterest

Share This