Регулярные выражения необходимы для проверки соответствия строк указанному шаблону. В скриптах такие выражения должны задаваться в стиле #C, то есть заключаться в косые / и /; либо при помощи оператора new.
Специальные символы регулярных выражений:
\ — Экранирование обычных символов. Позволяет использовать в шаблонах спец. символы.
^ — Указывает на начало входных данных.
$ — Указывает на конец входных данных.
* — Повтор от нуля до бесконечности.
+ — Повтор от одного до бесконечности.
? — Обозначает, что элемент шаблона может присутствовать либо отсутствовать. Также символ вопроса используется при группировке элементов регулярного выражения.
. — Любой символ, кроме перевода строки: \n \r \u2028 или \u2029.
(x) — Находит и запоминает указанную строку.
(?:x) — Находит указанную строку, но не запоминает ее.
x(?=y) — Находит указанную строку x, при условии, что за x следует y.
x(?!y) — Находит указанную строку x, при условии, что за x не следует y.
x|y — Находит x или y.
{n} — Точное количество повторов.
{n,} — Количество повторов от n до бесконечности.
{n,m} — Количество повторов от n до m.
[xyz] — Находит указанный набор символов.
[^xyz] — Исключает указанный набор символов из поиска.
[\b] — Находит символ backspace.
\b — Находит границу слов, например пробел.
\B — Исключает границу слоев.
\cX — Где X — буква от A до Z. Обозначает контрольный символ в строке.
\d — Находит любую цифру.
\D — Исключает любую цифру из поиска.
\f,\r,\n — Соответствующие спецсимволы form-feed, line-feed, перевод строки.
\s — Находит любые пробельные символов, в том числе сам проблем, перевод строки и т.п.
\S — Исключает пробельные символы из поиска.
\t — Символ табуляции.
\v — Символ вертикальной табуляции.
\w — Любая буква.
\W — Исключение любой буквы.
\n — Обратная ссылка на n»ю запомненную скобками подстроку.
\0 — Символ NUL.
\xhh — Находит указанный в двухзначном шестнадцатеричном виде символ.
\uhhhh — Находит символ юникода по его четырехзначному коду.
Примеры:
var myRegexp = /([A-Za-z]+)=(\d+)/; //Объявление регулярного выражения в стиле #C
var myRegexp = new RegExp(«([A-Za-z]+)=(\d+)»); //Объявление регулярного выражения с использованием оператора new
Регулярные выражения произвели прорыв в электронной обработке текста в конце XX века, однако, БАЗИС»скрипты в большей степени ориентированы на выполнение геометрических построений и вычислений. Поэтому подробно регулярные выражения в данном документе на расматриваются. Вместе с тем ниже приводятся несколько примеров обработки текста с использованием регулярных выражений.
Примеры:
var regexp = ‘1234567890’.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, ‘$1,’); //Разбиваем числа на троичные (тысячные) группы
history(regexp);