ReplaceRE
Revision as of 14:42, 30 December 2023 by 1>Admin
ReplaceRE (Функции для работы с регулярными выражениями) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Производит проверку шаблона регулярных выражений, заданного вторым аргументом в тексте, заданном первым аргументом. Возвращает текст, с заменой найденных в нем значений на текст или шаблон, заданный третьим аргументом.
Синтаксис
ReplaceRE(<Строка, в которой происходит поиск (STRING)>,<Выражение (STRING)>,<Шаблон для замены (STRING)>,<Позиция начала поиска (INT)>=0,<Максимальное количество замен (INT)>=0,<Флаги поиска (INT)>=0):<Текст результата (STRING)>
Аргументы
<Строка, в которой происходит поиск (STRING)>
- Текст поиска.<Выражение (STRING)>
- Шаблон регулярного выражения для поиска в тексте.<Шаблон для замены (STRING)>
- Строка, которой будут заменяться найденные в тексте значения. Кроме текста для замены, аргумент может содержать специальные выражения, начинающиеся на символ $. Список таких выражений дан ниже:- $$ -- при замене подставляется одиночный символ $.
- $& -- при замене подставляется само найденное выражение в тексте поиска значение.
- $` -- при замене подставляется часть исходного текста поиска с начала текста до позиции найденного значения.
- $' -- при замене подставляется часть исходного текста поиска с символа, следующего непосредственно за найденным значением до конца текста.
- $N -- при замене подставляется значение группы поиска с номером N. Нумерация групп начинается с 1 и задается в последовательности левых открывающихся скобок (это имеет значение только для вложенных групп). Если группа не участвовала в сравнении из-за предыдущего условия, либо создавала квантификацию с количеством ноль, будет подставлена пустая строка.
- $<Group> -- при замене подставляется значение группы поиска с наименованием Group. Если группа не участвовала в сравнении из-за предыдущего условия, либо создавала квантификацию с количеством ноль, будет подставлена пустая строка.
<Позиция начала поиска (INT)>
- (необязательный аргумент) Позиция начала поиска (по умолчанию -- с начала текста).<Максимальное количество замен (INT)>
- (необязательный аргумент) Аргумент задает максимальное количество производимых замен, после чего система не будет продолжать поиск и исходный текст с момента последней замены не будет изменен. По умолчанию 0 (без ограничений).<Флаги поиска (INT)>
- (необязательный аргумент) Число - битовая маска режимов поиска по умолчанию. Имеет следующие биты:- бит 0: Использовать регистро-независимый поиск (1), по умолчанию поиск будет регистро-зависимым. Важно: данный режим изменяет только сравнение обычного текста, сравнение наборов символов ([...]) изменено не будет.
- бит 1: Не использовать конструкции проверки позиции $ и ^, для нахождения начала и конца строки внутри текста, а только для нахождения начала и конца всего текста. По-умолчанию режим отключен.
Возвращаемое значение
Функция возвращает строку, результат замены.
Примеры
Стр:="The pink cockatoo is a medium-sized cockatoo that inhabits arid and semi-arid inland areas across Australia."; //Окружает слова the и that, вне зависимости от регистра, круглыми скобками. Message(ReplaceRE(Стр,"(?<grp>the|that)","($<grp>)",,0,1)); //Будет выведено: //(The) pink cockatoo is a medium-sized cockatoo (that) inhabits arid and semi-arid inland areas across Australia.