JavaScript: регулярное выражение
Описание
Регулярное выражение (иногда сокращенное до «regex») - это шаблон, используемый для сопоставления комбинаций символов в строке.
Например, регулярное выражение может использоваться для поиска всех текстовых строк в абзаце, которые содержат слово «красный», и отображать те строки, где найдено совпадение.
Вы также можете заменить слово «красный» на «зеленый». Иногда регулярные выражения используются для проверки адреса электронной почты, пароля, имени и т. Д. В поле формы HTML, чтобы получить правильный формат. В JavaScript регулярные выражения также являются объектами.
Создание регулярного выражения
Есть два способа создания регулярного выражения.
Используя инициализатор объекта, следующим образом:
var colorName = / Зеленый /;
Приведенный выше код создает новый объект RegExp с именем colorName и назначает шаблон Green. В приведенных выше обозначениях символ косой черты (/) используется для обозначения начала и конца шаблона.
Используя функцию конструктора, следующим образом:
re = new RegExp ("Зеленый")
JavaScript: шаблоны регулярных выражений
Иногда требуется различное сопоставление с образцом вместо прямого сопоставления. Например, шаблон / xy * z / соответствует любому символу.
Например, / bo * / соответствует «boo» в «Книге» и «b» в «Прекрасной реке», но ничего не значит в «Непрерывном предприятии».
В следующей таблице представлен полный список и описание специальных символов сопоставления с образцом, которые можно использовать в регулярных выражениях.
символ | Имея в виду |
---|---|
Указывает, что следующий символ является особенным и не должен интерпретироваться буквально Например, / d / соответствует символу 'd'. Помещая обратную косую черту перед d, то есть с помощью / d /, символ становится специальным, чтобы означать, что соответствует любому символу, который является цифрой. -или же- Указывает, что следующий символ не является специальным и должен интерпретироваться буквально. | |
^ | Соответствует началу строки или строки. Например, / ^ A / не соответствует «A» в «о статьях», но соответствует «Статьи о жизни» |
$ | Соответствует концу строки или строки. Например, / e $ / не соответствует 't' в «точном», но соответствует ему в «w3resource» |
* | Соответствует предыдущему символу 0 или более раз. Например, / bo * / соответствует 'boo' в "Загрузочном USB" и "b" в "Прекрасном уме", но ничего в "Непрерывном действии" нет. |
+ | Соответствует предыдущему символу 1 или более раз. Например, / a + / соответствует «a» в «Daniel» и всем «a» в «Daaam» |
? | Соответствует предыдущему символу 0 или 1 раз. Например, / r? Eu? / Совпадает с 're' в "w3resource" и "eu" в "europe". |
, | Десятичная точка соответствует любому отдельному символу, кроме новой строки. Например, /.n/ соответствует «an» и «on» в «оранжевый на столе». |
(Икс) | Совпадает с 'x' и запоминает соответствующий символ. Например, / (go) / соответствует и запоминает «go» в «go there» |
х | у | Совпадает с «x» или «y». Например, / green | red / соответствует зеленому в «зеленом цвете» и синему в «синем цвете». |
{П} | Точно соответствует n (положительное целое число) вхождений предыдущего символа. Например, / a {2} / не соответствует 'a' в "dam", но соответствует всем a в "daam" и первым двум a в "daaam" |
{П,} | Соответствует не менее n (положительное целое) вхождений предыдущего символа. Например, / a {2,} / не соответствует 'a' в "dam", но соответствует всем a в "daam" и первым двум a в "daaam" |
{П, т} | Соответствует по меньшей мере n и при максимальном m (n и m являются положительными целыми числами) вхождений предыдущего символа. Например, / a {1,3} / ничего не соответствует в «dom», «a» в «dam», первые два a в «daam» и первые три a в «daaaaaam». Обратите внимание, что при сопоставлении «daaaaaam», сопоставление равно «aaa», поскольку максимальное значение m равно 3, хотя в исходной строке было больше «а». |
[Хуг] | Соответствует любому из набора символов, используя дефис, вы можете указать диапазон символов. Например. [uvwxyz] такой же, как [uz]. Совпадение «у» в «желтый» и «у» в «синий». |
[^ Хуг] | Соответствует любому символу, который не заключен в квадратные скобки. Используя дефис, вы можете указать диапазон символов. Например, [^ wxyz] совпадает с [^ wz]. Первоначально они соответствуют 'b' в «синем» и «s» в «указать». |
[] | Соответствует Backspace. |
Соответствует границе слова (позиция между символом слова и несловесным символом), например пробелом. Например, / nw / соответствует «on» в «раньше» | |
В | Соответствует положению, которое находится за пределами символа слова и границы, не связанной с словом. Например, / wBn / соответствует «on» в «раньше». |
пХ | Соответствует управляющему символу (X) в строке. Например, / cM / соответствует control-M в строке. |
d | Соответствует любому символу, который является цифрой. Эквивалентно [0-9]. Например, / d / или / [0-9] / соответствует «2» в «E2 означает второй пример». |
D | Соответствует любому символу, который не является цифрой. Эквивалентно [^ 0-9]. Например, / D / или / [^ 0-9] / соответствует «C» в «E2 означает второй пример». |
Соответствует каналу формы | |
Соответствует новой линии | |
Соответствует возврату каретки. | |
s | Соответствует любому пробелу (включая табуляцию, новую строку, возврат каретки, подачу формы, вертикальную табуляцию). []. Например, / sw * / соответствует «яблоку» в «яблоке». |
S | Соответствует любому символу, не являющемуся пробелом. Эквивалентно [^]. Например, / S / w * соответствует «An» в «Яблоке» |
Соответствует вкладке | |
Соответствует вертикальной вкладке. | |
вес | Соответствует любому символу слова (буквенно-цифровой), включая подчеркивание. Эквивалентно [A-Za-z0-9_]. Например, / w / соответствует «g» в «зеленом», «8» в «12,86» и «3» в «3G». |
W | Соответствует любому несловесному символу, эквивалентному [^ A-Za-z0-9_]. Например, / W / или / [^ $ A-Za-z0-9 _] / соответствует «$» в «150 $» |
Где n - положительное целое число. Обратная ссылка на последнюю подстроку, соответствующую n скобкам в регулярном выражении Например, / red (,) sgreen1 / соответствует «красный, зеленый», «красный, зеленый, белый, черный». | |
ooctal | Восьмеричное escape-значение позволяет встраивать ASCII-коды в регулярные выражения. |
xhex | Шестнадцатеричное escape-значение позволяет встраивать ASCII-коды в регулярные выражения. |
Предыдущая: Javascript объект Object - Свойства и методы
Далее: Объекты Javascript RegExp - Свойства и Методы
Новый контент: Composer: менеджер зависимостей для PHP , R программирования