Регулярное выражение - это объект, который описывает шаблон символов.
Класс JavaScript RegExp представляет собой регулярные выражения. Как String, так и RegExp определяют методы, которые используют регулярные выражения для выполнения разных функций сопоставления, поиска и замены текста.
Регулярное выражение может быть определено с помощью конструктора RegExp ()
или
Описание параметров:
Скобки ([]) имеют особое значение при использовании в контексте регулярных выражений. Они используются для поиска диапазона символов.
Выражение и описание | |
---|---|
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 или диапазон [b-v], для соответствия любому строчному символу в диапазоне от b до v.
Частоту или положение заключенных в скобки символьных последовательностей и одиночных символов можно обозначить специальным символом. Каждый такой символ имеет конкретную коннотацию. Все символы +, *,? И флаг $ следуют за последовательностью символов.
Выражение и описание | |
---|---|
1 |
p+ Соответствует любой строке, содержащей один или несколько p. |
2 |
p* Соответствует любой строке, содержащей ноль или более p. |
3 |
p? Соответствует любой строке, содержащей не более одного p. |
4 |
p{N} Соответствует любой строке, содержащей последовательность из N p |
5 |
p{2,3} Соответствует любой строке, содержащей последовательность из двух или трех p. |
6 |
p{2, } Соответствует любой строке, содержащей последовательность не менее двух p. |
7 |
p$ Соответствует любой строке с p в конце ее. |
8 |
^p Соответствует любой строке с p в начале ее. |
Следующие примеры объясняют подробнее процесс сопоставления символов.
Выражение и описание | |
---|---|
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. |
Выражение и описание | |
---|---|
1 |
алфавитно-цифровой |
2 |
\0 Символ NUL (\ u0000) |
3 |
\t Tab (\u0009 |
4 |
\n Newline (\u000A) |
5 |
\v Vertical tab (\u000B) |
6 |
\f Form feed (\u000C) |
7 |
\r Carriage return (\u000D) |
8 |
\xnn Латинский символ, заданный шестнадцатеричным числом nn; например, \ x0A совпадает с \n |
9 |
\uxxxx Символ Юникода, заданный шестнадцатеричным числом xxxx; например, \ u0009 совпадает с \t |
10 |
\cX Управляющий символ ^ X; например, \cJ эквивалентно символу новой строки \n |
Метасимвол - это просто алфавитный символ, которому предшествует обратная косая черта, которая действует, чтобы придать комбинации особое значение.
Например, вы можете искать большую сумму денег, используя метасимвол '\ d': / ([\ d] +) 000 /, Здесь \ d будет искать любую строку числового символа.
В следующей таблице приведен список метасимволов, которые могут использоваться в регулярных выражениях стиля PERL.
Выражение и описание | |
---|---|
1 |
. один символ |
2 |
\s символ пробела (space, tab, newline) |
3 |
\S не пробел |
4 |
\d цифра (0-9) |
5 |
\D не цифра |
6 |
\w словарный символ (a-z, A-Z, 0-9, _) |
7 |
\W не словарный |
8 |
[\b] литерал - backspace (special case). |
9 |
[aeiou] matches a single character in the given set |
10 |
[^aeiou] соответствует одному символу не из заданного набора |
11 |
(foo|bar|baz) соответствует любой из указанных альтернатив |
Доступны несколько модификаторов, которые могут упростить работу с регулярными выражениями, например, чувствительность к регистру, поиск по нескольким строкам и т. Д.
Выражение и описание | |
---|---|
1 |
i Выполняет поиск, нечувствительный к регистру. |
2 |
m Указывает, что если строка имеет символы новой строки или символа возврата каретки, операторы ^ и $ теперь будут сопоставляться с границей новой строки, а не с границей строки |
3 |
g Выполняет глобальное соответствие, которое соответствует всем совпадениям, а не остановке после первого совпадения. |
Выражение и описание | |
---|---|
1 | constructor
Указывает функцию, которая создает прототип объекта. |
2 | global
Указывает, установлен ли модификатор «g». |
3 | ignoreCase
Указывает, установлен ли модификатор «i». |
4 | lastIndex
Индекс, с которого нужно начать следующее сравнение. |
5 | multiline
Указывает, установлен ли модификатор «m». |
6 | source
Текст шаблона. |
Выражение и описание | |
---|---|
1 | exec()
Выполняет поиск соответствия в своем строковом параметре. |
2 | test()
Тесты для соответствия в параметре строки. |
3 | toSource()
Возвращает литерал объекта, представляющий указанный объект; это значение можно использовать для создания нового объекта. |
4 | toString()
Возвращает строку, представляющую указанный объект. |