Регулярные выражения в JavaScript — это тип данных, который используется для поиска и сопоставления строк. Они могут определить, является ли строка допустимым доменным именем, или заменить все экземпляры слова в строке.
Регулярные выражения в javaScript имеют свой собственный синтаксис, и часто вам нужно обратиться к ссылке на регулярные выражения, если вы делаете что-то сложное. Просто поищите в Интернете то, что вам нужно!
Ниже приведён высокоуровневый обзор сложной области с несколькими простыми примерами, показывающими, как это сделать в JavaScript.
Создание регулярных выражений
Как и в случае с объектами и массивами, существует синтаксис литерала регулярного выражения, обозначаемый двумя косыми чертами. Все, что находится между ними, является выражением:
var regex = /^[a-z\s]+$/;
Это выражение соответствует строкам, состоящим из строчных букв и пробелов от начала до конца. Курсор (“^”) указывает на начало строки. Символ доллара (“$”) обозначает конец строки. Квадратные скобки указывают, что, всё что находится между открывающей и закрывающей фигурными скобками может повторяться один или несколько раз до конца строки. Это могут быть буквы a-z, строчные буквы и пробел, обозначаемый специальным символом “\s”.
У строк есть несколько полезных методов, которые принимают регулярные выражения; вот посмотрите на match и replace:
var lowerCaseString = 'some characters'; if (lowerCaseString.match(regex)) { alert('Yes, all lowercase'); }
match выдаёт истинное значение, если регулярное выражение совпадает со строкой (lowerCaseString) match, по которой вызывается строка. Строка совпадает, поэтому выполнение переходит в инструкцию if для отображения предупреждения.
Регулярные выражения также можно использовать для замены текста:
var text = "There is everything and nothing."; text = text.replace(/(every|no)thing/g, 'something'); // text is now "something and something"
Это выражение соответствует слову “все” и слову “ничего” и заменяет все их вхождения словом “что-то”. Обратите внимание на “g” после закрывающей косой черты (“/”) регулярного выражения — это глобальный флаг, который означает, что выражение должно соответствовать всем вхождениям, а не только первому, что оно и делает по умолчанию.
Флаги регулярных выражений JavaScript всегда идут после закрывающей косой черты. Другой флаг, который вам может понадобиться, — это флаг без учёта регистра. По умолчанию регулярные выражения учитывают разницу между прописными и строчными буквами, но это можно изменить, используя флаг “i”.
var text = "Everything and nothing."; text = text.replace(/(every|no)thing/gi, "something"); // text is now "something and something"
Страницы в тему:
- Следующая страница: Замыкания
- Предыдущая страница: Ошибки и исключения