Регулярные выражения в JavaScript

Регулярные выражения в 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"

Страницы в тему:

Добавить комментарий