regex
regex.match
Описание: Проверяет соответствие строки регулярному выражению.
Параметры:
text- исходная строка (обязательный)pattern- регулярное выражение (обязательный)mode- режим обработки (опциональный):utf8- с учетом Unicode символов (значение по умолчанию)byte- по байтам
Возвращает: true если строка соответствует шаблону, иначе false.
Пример
!{regex.match|
text: Пример строки 123;
pattern: .*\d+;
mode: utf8;}
Результат:
"true" (строка содержит числа)
regex.find
Описание: Находит совпадения по регулярному выражению.
Параметры:
text- исходная строка (обязательный)pattern- регулярное выражение (обязательный)type- тип поиска (опциональный):first- только первое совпадение (значение по умолчанию)all- все совпаденияcount- указанное количество совпадений
limit- количество совпадений для type: count (обязательный при type: count)mode- режим обработки (опциональный):utf8- с учетом Unicode символов (значение по умолчанию)byte- по байтам
Возвращает: Строку или массив строк с найденными совпадениями.
Пример
Поиск первого совпадения
!{regex.find|
text: Email: user@example.com и phone: +1234567890;
pattern: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,};
type: first;}
Результат:
"user@example.com"
Поиск всех совпадений
!{regex.find|
text: Числа: 123, 456, 789, 012;
pattern: \d+;
type: all;}
Результат:
["123", "456", "789", "012"]
// Поиск указанного количества совпадений
!{regex.find|
text: Числа: 123, 456, 789, 012;
pattern: \d+;
type: count;
limit: 3;}
Результат:
["123", "456", "789"]
regex.replace
Описание: Заменяет совпадения по регулярному выражению.
Параметры:
text- исходная строка (обязательный)pattern- регулярное выражение (обязательный)replacement- строка замены (обязательный)type- тип замены (опциональный):first- замена только первого вхождения (значение по умолчанию)all- замена всех вхожденийcount- замена указанного количества вхождений
limit- количество замен для type: count (обязательный при type: count)mode- режим обработки (опциональный):utf8- с учетом Unicode символов (значение по умолчанию)byte- по байтам
Возвращает: Строку с выполненными заменами.
Пример
Замена первого вхождения
!{regex.replace|
text: Телефон: 123-456-7890, факс: 123-456-7899;
pattern: (\d{3})-(\d{3})-(\d{4});
replacement: ($1) $2-$3;
type: first;}
Результат:
"Телефон: (123) 456-7890, факс: 123-456-7899"
Замена всех вхождений
!{regex.replace|
text: Телефон: 123-456-7890, факс: 123-456-7899;
pattern: (\d{3})-(\d{3})-(\d{4});
replacement: ($1) $2-$3;
type: all;}
Результат:
"Телефон: (123) 456-7890, факс: (123) 456-7899"
Замена указанного количества вхождений
!{regex.replace|
text: Замена: test, test, test, test;
pattern: test;
replacement: ТЕСТ;
type: count;
limit: 2;}
Результат:
"Замена: ТЕСТ, ТЕСТ, test, test"
regex.split
Описание: Разделяет строку по совпадениям регулярного выражения.
Параметры:
text- исходная строка (обязательный)pattern- регулярное выражение (обязательный)type- тип разделения (опциональный):first- разделение по первому совпадению (значение по умолчанию)all- разделение по всем совпадениямcount- разделение по указанному количеству совпадений
limit- количество разделений для type: count (обязательный при type: count)mode- режим обработки (опциональный):utf8- с учетом Unicode символов (значение по умолчанию)byte- по байтам
Возвращает: Массив разделенных строк.
Пример
Разделение по первому совпадению
!{regex.split|
text: abc123def456ghi;
pattern: \d+;
type: first;}
Результат:
["abc", "def456ghi"]
Разделение по всем совпадениям
!{regex.split|
text: abc123def456ghi;
pattern: \d+;
type: all;}
Результат:
["abc", "def", "ghi"]
Разделение по указанному количеству совпадений
!{regex.split|
text: a-b-c-d-e;
pattern: -;
type: count;
limit: 2;}
Результат:
["a", "b", "c-d-e"]
regex.count
Описание: Подсчитывает количество совпадений по регулярному выражению.
Параметры:
text- исходная строка (обязательный)pattern- регулярное выражение (обязательный)mode- режим обработки (опциональный):utf8- с учетом Unicode символов (значение по умолчанию)byte- по байтам
Возвращает: Количество совпадений в виде строки.
Пример:
!{regex.count|
text: Email: user@example.com и phone: +1234567890;
pattern: \d;}
Результат:
"10" (10 цифр в строке)
regex.extract
Описание: Извлекает группы захвата из совпадений.
Параметры:
text- исходная строка (обязательный)pattern- регулярное выражение с группами захвата (обязательный)group- индекс группы для извлечения (опциональный, по умолчанию все группы)type- тип извлечения (опциональный):first- группы из первого совпадения (значение по умолчанию)all- группы из всех совпаденийcount- группы из указанного количества совпадений
limit- количество совпадений для type: count (обязательный при type: count)mode- режим обработки (опциональный):utf8- с учетом Unicode символов (значение по умолчанию)byte- по байтам
Возвращает: Извлеченные группы в виде строки или массива.
Примеры:
Извлечение группы из первого совпадения
!{regex.extract|
text: Дата: 2023-05-15;
pattern: (\d{4})-(\d{2})-(\d{2});
group: 1;
type: first;}
Результат:
"2023" (год из даты)
Извлечение всех групп из первого совпадения
!{regex.extract|
text: Дата: 2023-05-15;
pattern: (\d{4})-(\d{2})-(\d{2});
type: first;}
Результат:
["2023-05-15", "2023", "05", "15"]
Извлечение группы из всех совпадений
!{regex.extract|
text: Даты: 2023-05-15, 2023-06-20;
pattern: (\d{4})-(\d{2})-(\d{2});
group: 2;
type: all;}
Результат:
["05", "06"]
regex.validate
Описание: Проверяет соответствие строки шаблону и возвращает список ошибок.
Параметры:
text- исходная строка (обязательный)pattern- регулярное выражение (обязательный)message- сообщение об ошибке (опциональный)mode- режим обработки (опциональный):utf8- с учетом Unicode символов (значение по умолчанию)byte- по байтам
Возвращает: Сообщение об ошибке или пустую строку при успешной валидации.
Пример:
!{regex.validate|
text: user@example;
pattern: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,};
message: Некорректный email;}
Результат:
"Некорректный email" (если не совпадает) или пустая строка (если совпадает)
regex.escape
Описание: Экранирует специальные символы регулярного выражения.
Параметры:
text- исходная строка (обязательный)
Возвращает: Строку с экранированными специальными символами.
Пример:
!{regex.escape|
text: a+b*c?;}
Результат:
"a\+b\*c\?"
regex.unescape
Описание: Снимает экранирование со строки, предназначенной для регулярного выражения.
Параметры:
text- исходная строка с экранированными символами (обязательный)
Возвращает: Строку с удаленными экранирующими символами.
Пример:
!{regex.unescape|
text: a\\+b\\*c\\?;}
Результат:
"a+b*c?"