Регулярные выражения и объект RegExp
Регулярное выражение - это объект, описывающий набор символов.
JavaScript RegExp класс представляет регулярные выражения, и как String, так и RegExp определить методы, которые используют регулярные выражения для выполнения мощных функций сопоставления с образцом и поиска и замены текста.
Синтаксис
Регулярное выражение можно определить с помощью RegExp () конструктор, как показано ниже -
var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;
Вот описание параметров -
pattern - Строка, определяющая шаблон регулярного выражения или другого регулярного выражения.
attributes - Необязательная строка, содержащая любой из атрибутов «g», «i» и «m», которые определяют соответственно глобальные, нечувствительные к регистру и многострочные совпадения.
Скобки
Скобки ([]) имеют особое значение при использовании в контексте регулярных выражений. Они используются для поиска ряда символов.
Sr. No. | Выражение и описание |
---|---|
1 | [...] Любой символ в скобках. |
2 | [^...] Любой символ, не заключенный в скобки. |
3 | [0-9] Соответствует любой десятичной цифре от 0 до 9. |
4 | [a-z] Соответствует любому символу в нижнем регистре a через строчные буквы z. |
5 | [A-Z] Соответствует любому символу в верхнем регистре A через прописные буквы Z. |
6 | [a-Z] Соответствует любому символу в нижнем регистре a через прописные буквы Z. |
Указанные выше диапазоны являются общими; вы также можете использовать диапазон [0–3] для сопоставления любой десятичной цифры от 0 до 3 или диапазон [bv] для сопоставления любого символа нижнего регистра в диапазоне отb через v.
Квантификаторы
Частота или положение заключенных в скобки последовательностей символов и отдельных символов может быть обозначена специальным символом. Каждый специальный символ имеет определенный оттенок. Флаги +, *,? И $ следуют за последовательностью символов.
Sr. No. | Выражение и описание |
---|---|
1 | p+ Соответствует любой строке, содержащей один или несколько p. |
2 | p* Соответствует любой строке, содержащей ноль или более p. |
3 | p? Соответствует любой строке, содержащей не более одного p. |
4 | p{N} Соответствует любой строке, содержащей последовательность N p's |
5 | p{2,3} Соответствует любой строке, содержащей последовательность из двух или трех p. |
6 | p{2, } Соответствует любой строке, содержащей не менее двух p. |
7 | p$ Соответствует любой строке с буквой p в конце. |
8 | ^p Соответствует любой строке с буквой p в начале. |
Примеры
Следующие примеры объясняют больше о сопоставлении символов.
Sr. No. | Выражение и описание |
---|---|
1 | [^a-zA-Z] Соответствует любой строке, не содержащей символов в диапазоне от a через z и A через Z. |
2 | p.p Соответствует любой строке, содержащей p, за которым следует любой символ, за которым по очереди следует другой p. |
3 | ^.{2}$ Соответствует любой строке, содержащей ровно два символа. |
4 | <b>(.*)</b> Соответствует любой строке, заключенной в <b> и </b>. |
5 | p(hp)* Соответствует любой строке, содержащей p за которым следуют ноль или более экземпляров последовательности hp. |
Буквальные символы
Sr. No. | Характер и описание |
---|---|
1 | Alphanumeric Сам |
2 | \0 Символ NUL (\ u0000) |
3 | \t Табуляция (\ u0009 |
4 | \n Новая строка (\ u000A) |
5 | \v Вертикальная табуляция (\ u000B) |
6 | \f Подача формы (\ u000C) |
7 | \r Возврат каретки (\ u000D) |
8 | \xnn Латинский символ, заданный шестнадцатеричным числом nn; например, \ x0A то же самое, что \ n |
9 | \uxxxx Символ Юникода, заданный шестнадцатеричным числом xxxx; например, \ u0009 то же самое, что и \ t |
10 | \cX Управляющий символ ^ X; например, \ cJ эквивалентен символу новой строки \ n |
Метасимволы
Метасимвол - это просто алфавитный символ, которому предшествует обратная косая черта, которая придает комбинации особое значение.
Например, вы можете найти крупную сумму денег, используя метасимвол '\ d': /([\d]+)000/, Вот \d будет искать любую строку числового символа.
В следующей таблице перечислены метасимволы, которые можно использовать в регулярных выражениях стиля PERL.
Sr. No. | Характер и описание |
---|---|
1 | . один персонаж |
2 | \s символ пробела (пробел, табуляция, новая строка) |
3 | \S непробельный символ |
4 | \d цифра (0-9) |
5 | \D нецифровый |
6 | \w словесный символ (az, AZ, 0-9, _) |
7 | \W несловесный символ |
8 | [\b] буквальный пробел (особый случай). |
9 | [aeiou] соответствует одному символу в данном наборе |
10 | [^aeiou] соответствует одному символу вне заданного набора |
11 | (foo|bar|baz) соответствует любой из указанных альтернатив |
Модификаторы
Доступны несколько модификаторов, которые могут упростить вам работу с regexps, например, чувствительность к регистру, поиск в нескольких строках и т. д.
Sr. No. | Модификатор и описание |
---|---|
1 | i Сопоставление без учета регистра. |
2 | m Указывает, что если строка содержит символы новой строки или возврата каретки, операторы ^ и $ теперь будут соответствовать границе новой строки, а не границе строки. |
3 | g Выполняет глобальное сопоставление, то есть находит все совпадения, а не останавливается после первого совпадения. |
Свойства RegExp
Вот список свойств, связанных с RegExp, и их описание.
Sr. No. | Описание недвижимости |
---|---|
1 | constructor Specifies the function that creates an object's prototype. |
2 | global Specifies if the "g" modifier is set. |
3 | ignoreCase Specifies if the "i" modifier is set. |
4 | lastIndex The index at which to start the next match. |
5 | multiline Specifies if the "m" modifier is set. |
6 | source The text of the pattern. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp properties.
RegExp Methods
Here is a list of the methods associated with RegExp along with their description.
Sr.No. | Method & Description |
---|---|
1 | exec() Executes a search for a match in its string parameter. |
2 | test() Tests for a match in its string parameter. |
3 | toSource() Returns an object literal representing the specified object; you can use this value to create a new object. |
4 | toString() Returns a string representing the specified object. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp methods.