Телефон: +7(812)9922114
Портфолио
Создание сайтов Оптимизация и продвижение сайтов Обслуживание сайтов Создание уникальных текстов Создание и обработка графики Создание программного обеспечения

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

Сервис для проверки регулярных выражений в JAVASCRIPT

За работу с регулярными выражениями в JAVASCRIPT отвечает объект RegExp(pattern [, flags]).

pattern - регулярное выражение;
flags - комбинация следующих значений:

  • g - (global) - глобальный поиск;
  • i - (ignore case) - не учитывать различия строчных и прописных символов;
  • m - (multiple lines) - заставляет работать символы ^ (начало) и $ (конец) для каждой строки текста, разделенной символом перевода строки.

Для создания RegExp используется конструктор либо объявление переменной без использования кавычек (следующие два варианта эквивалентны):

javascript_50_code_base64:dmFyJTIwcmUlMjAlM0QlMjBuZXclMjBSZWdFeHAlMjglMjIlNUMlNUN3KyUyMiUyOSUzQiUwQXZhciUyMHJlJTIwJTNEJTIwLyU1Q3crLyUzQg==

Эти два варианта также эквивалентны:

javascript_50_code_base64:L2FiK2MvaSUzQiUwQW5ldyUyMFJlZ0V4cCUyOCUyMmFiK2MlMjIlMkMlMjAlMjJpJTIyJTI5JTNC

За работу с регулярными выражениями в JAVASCRIPT отвечает объект RegExp(pattern [, flags]).

pattern - регулярное выражение;
flags - комбинация следующих значений:

  • g - (global) - глобальный поиск;
  • i - (ignore case) - не учитывать различия строчных и прописных символов;
  • m - (multiple lines) - заставляет работать символы ^ (начало) и $ (конец) для каждой строки текста, разделенной символом перевода строки.

Для создания RegExp используется конструктор либо объявление переменной без использования кавычек (следующие два варианта эквивалентны):

javascript_50_code_base64:dmFyJTIwcmUlMjAlM0QlMjBuZXclMjBSZWdFeHAlMjglMjIlNUMlNUN3KyUyMiUyOSUzQiUwQXZhciUyMHJlJTIwJTNEJTIwLyU1Q3crLyUzQg==

Эти два варианта также эквивалентны:

javascript_50_code_base64:L2FiK2MvaSUzQiUwQW5ldyUyMFJlZ0V4cCUyOCUyMmFiK2MlMjIlMkMlMjAlMjJpJTIyJTI5JTNC

Специальные символы в регулярных выражениях:

СимволЗначение
\

Простой символ, следующий за "" будет восприниматься как специальный.

Например, /b/ осуществляет поиск символа 'b'. Если перед b поставить "", то символ будет восприниматься как специальный (граница слова) /\b/.

Специальный символ, следующий за "", будет восприниматься как как простой.

Например, /a*/ осуществляет поиск в строке 0 и более символов "a". Если поставить "" перед "*", то будет осуществляться поиск пары символов "a*".

^

Начало строки. В многострочном режиме работы также означает начало каждой строки.

$ Конец строки. В многострочном режиме работы также означает конец каждой строки.
* 0 и более повторов. Будет найдено максимально возможное количество повторов.
+ 1 и более повторов. Будет найдено максимально возможное количество повторов.
*? и +?

Аналогично * и +. . Будет найдено минимально возможное количество повторов.

Например, /_.*?_/ в строке "_foo_ _bar_" найдет "_foo_" и "_bar_". Без знака ? будет найдена вся строка целиком.

?

0 или 1 повтор.

Например, в строках "angel" и "angle" регулярное выражение /e?le?/ найдет "el" и "le".

Также используется для условных выражений (?=), (?!) и (?:)

.

Любой единичный символ, кроме символов \n \r \u2028 и \г2029.

(x)

Находит x и запоминает найденное в результирующем массиве.

(?:x)

Находит x, но результат не запоминает.

x(?=y)

Находит x, если он следует за y

x(?!y) Находит x, если он не следует за y
x|y Находит или x или y
{n} Находит n повторов
{n,} Находит n и более повторов
{n,m} Находит от n до m повторов
[xyz], [x-z]

Набор символов. При использовании "-" можно также указать диапазон символов в наборе.

[^xyz], [^x-z] Набор символов которые должны отсутствовать в найденном результате. Тере также задает диапазон символов.
[\b] Backspace
\b

Граница слова.

Например, в строке "as noon" регулярное выражение /\bno/ найдет "no", а в строке "possibly yesterday" выражение /ly\b/ найдет "ly".

\B

Граница между двумя символами (или двумя пробелами).

Например, в строке "as noon" регулярное выражение /\Bon/ найдет "on", а в строке "possibly yesterday" выражение /ye\B/ найдет "ye".

\cX где X - символ A-Z. Указывает что символ является контрольным
\d Число. Эквивалент набора [0-9]
\D Не является числом. Эквивалент набора [^0-9]
\f Конец формы
\n Конец строки
\r Перевод строки
\s Пробелы, TAB и других. Эквивалент набора [ \t\r\n]
\S Не является пробелом, TAB и другими. Эквивалент набора [^ \t\r\n]
\t TAB
\v Вертикальный TAB
\w Цифра или число. Эквивалент набора [A-Za-z0-9_]
\W Не число и цифра. Эквивалент набора [^A-Za-z0-9_]
\n Где n - положительное число. Ссылка на подстроку в скобках, номер которых указан в n
\0 NUL символ. За ним не может следовать другое число
\xhh Символ в шестнадцатеричном формате
\uhhhh UNICODE символ

Свойства объекта RegExp

  • caller - функция, вызвавшая конструктор
  • constructor - ссылка на функцию, вызвавшую конструктор объекта
  • length - длина объекта (количество аргументов функции)
  • name - название функции
  • global - поиск всех вхождений (не останавливаться на первом вхождении)
  • ignoreCase - игнорировать регистр символов
  • lasIndex - индекс, с которого начать поиск следующих вхождений
  • multiline - поиск в многострочном режиме
  • source - текст регулярного выражения
  • sticky - "липкий" поиск

Методы объекта RegExp

  • apply - вызов функции: fun.apply(thisArg[, argsArray])
  • call -вызов функции: fun.call(thisArg[, arg1[, arg2[, ...]]])
  • toSource - строковое представление содержимого функции
  • toString - строковое представление содержимого функции
  • exec - запуск поиска
  • test - проверка на совпадение

Применение регулярных выражений для смены формата даты и времени

javascript_100_code_base64:dmFyJTIwcmUlMjAlM0QlMjAvJTI4JTVDdyslMjklNUNzJTI4JTVDdyslMjkvJTNCJTBBdmFyJTIwc3RyJTIwJTNEJTIwJTIySm9obiUyMFNtaXRoJTIyJTNCJTBBdmFyJTIwbmV3c3RyJTIwJTNEJTIwc3RyLnJlcGxhY2UlMjhyZSUyQyUyMCUyMiUyNDIlMkMlMjAlMjQxJTIyJTI5JTNCJTBBcHJpbnQlMjhuZXdzdHIlMjklM0I=

"Липкий" поиск

javascript_100_code_base64:dmFyJTIwdGV4dCUyMCUzRCUyMCUyMkZpcnN0JTIwbGluZSU1Q25zZWNvbmQlMjBsaW5lJTIyJTNCJTBBdmFyJTIwcmVnZXglMjAlM0QlMjAvJTI4JTVDUyslMjklMjBsaW5lJTVDbiUzRi95JTNCJTBBJTBBdmFyJTIwbWF0Y2glMjAlM0QlMjByZWdleC5leGVjJTI4dGV4dCUyOSUzQiUwQXByaW50JTI4bWF0Y2glNUIxJTVEJTI5JTNCJTIwJTIwLy8lMjBwcmludHMlMjAlMjJGaXJzdCUyMiUwQXByaW50JTI4cmVnZXgubGFzdEluZGV4JTI5JTNCJTIwLy8lMjBwcmludHMlMjAxMSUwQSUwQXZhciUyMG1hdGNoMiUyMCUzRCUyMHJlZ2V4LmV4ZWMlMjh0ZXh0JTI5JTNCJTBBcHJpbnQlMjhtYXRjaDIlNUIxJTVEJTI5JTNCJTIwLy8lMjBwcmludHMlMjAlMjJTZWNvbmQlMjIlMEFwcmludCUyOHJlZ2V4Lmxhc3RJbmRleCUyOSUzQiUyMC8vJTIwcHJpbnRzJTIwJTIyMjIlMjIlMEElMEF2YXIlMjBtYXRjaDMlMjAlM0QlMjByZWdleC5leGVjJTI4dGV4dCUyOSUzQiUwQXByaW50JTI4bWF0Y2gzJTIwJTNEJTNEJTNEJTIwbnVsbCUyOSUzQiUyMC8vJTIwcHJpbnRzJTIwJTIydHJ1ZSUyMg==

Регулярные выражения и символы UNICODE

javascript_100_code_base64:dmFyJTIwdGV4dCUyMCUzRCUyMCUyMiV1MDQxRSV1MDQzMSV1MDQ0MCV1MDQzMCV1MDQzNyV1MDQzNSV1MDQ0NiUyMHRleHQlMjAldTA0M0QldTA0MzAlMjAldTA0NDAldTA0NDMldTA0NDEldTA0NDEldTA0M0EldTA0M0UldTA0M0MlMjAldTA0NEYldTA0MzcldTA0NEIldTA0M0EldTA0MzUlMjIlM0IlMEF2YXIlMjByZWdleCUyMCUzRCUyMC8lNUIlNUN1MDQwMC0lNUN1MDRGRiU1RCsvZyUzQiUwQSUwQXZhciUyMG1hdGNoJTIwJTNEJTIwcmVnZXguZXhlYyUyOHRleHQlMjklM0IlMEFwcmludCUyOG1hdGNoJTVCMCU1RCUyOSUzQiUyMCUyMC8vJTIwcHJpbnRzJTIwJTIyJXUwNDFFJXUwNDMxJXUwNDQwJXUwNDMwJXUwNDM3JXUwNDM1JXUwNDQ2JTIyJTBBcHJpbnQlMjhyZWdleC5sYXN0SW5kZXglMjklM0IlMjAlMjAvLyUyMHByaW50cyUyMCUyMjclMjIlMEElMEF2YXIlMjBtYXRjaDIlMjAlM0QlMjByZWdleC5leGVjJTI4dGV4dCUyOSUzQiUwQXByaW50JTI4bWF0Y2gyJTVCMCU1RCUyOSUzQiUyMCUyMC8vJTIwcHJpbnRzJTIwJTIyJXUwNDNEJXUwNDMwJTIyJTIwJTVCZGlkJTIwbm90JTIwcHJpbnQlMjAlMjJ0ZXh0JTIyJTVEJTBBcHJpbnQlMjhyZWdleC5sYXN0SW5kZXglMjklM0IlMjAlMjAvLyUyMHByaW50cyUyMCUyMjE1JTIyJTBB

Диапазоны символов UNICODE для составления регулярных выражений

Реклама и продвижение

---

Скрипты на PHP, JAVASCRIPT и JQUERY

---

Полезные программы

---
©1998-2019. Санкт-Петербург. IT-студия "Кленовый лист"