Функция РЕГЗАМЕНИТЬ

Применяется к
Excel для Microsoft 365 Excel для Microsoft 365 для Mac

Функция РЕГЗАМЕНИТЬ позволяет заменять текст из строки другой строкой на основе предоставленного регулярного выражения ("регулярное выражение").

Синтаксис

Функция РЕГЗАМЕНИТЬ заменяет строки в предоставленном тексте , соответствующие шаблону , с заменой.

Синтаксис функции РЕГИЗВЛЕЧЬ выглядит следующим образом:

РЕГВЫРАЖЕНИЕ(текст; шаблон; замена; [вхождение]; [case_sensitivity])

Аргумент Описание
текст
(обязательно)
Текст или ссылка на ячейку, содержащую текст, в которой нужно заменить строки.
шаблон
(обязательно)
Регулярное выражение ("regex"), описывающее образец текста, который нужно заменить.
замена
(обязательно)
Текст, который нужно заменить вхождения шаблона.
Вхождение Определяет, какой экземпляр шаблона нужно заменить. По умолчанию вхождение равно 0, что заменяет все вхождения. Отрицательное число заменяет этот экземпляр при поиске с конца.
case_sensitivity Определяет, учитывается ли регистр в совпадении. По умолчанию совпадение чувствительно к регистру. Введите одно из следующих значений:
0: С учетом регистра
1: Без учета регистра

Примечание

При написании шаблонов регулярных выражений можно использовать символы, называемые "маркерами", которые совпадают с различными символами. Вот несколько простых маркеров для справки:

  • "[0-9]": любая цифра
  • "[a-z]": символ в диапазоне от А до Я
  • ".": любой символ
  • "a": символ "a"
  • "a*": ноль или больше "a"
  • "a+": одна или несколько "a"
  • Все регулярные выражения для этой функции, а также РЕГТЕСТ и РЕГИЗВЛЕЧЬ используют "разновидность" регулярного выражения PCRE2.
  • Функция РЕГИЗВЛЕЧЬ всегда возвращает текстовые значения. Эти результаты можно преобразовать обратно в число с помощью функции ЗНАЧЕН.

Примеры

Скопируйте пример данных и вставьте их в ячейку A1 нового листа Excel. При необходимости измените ширину столбцов, чтобы видеть все данные.

Пример 1

Используйте REGEXREPLACE для анонимизации номеров телефонов, заменив их первые 3 цифры на ***, используя шаблон

"[0-9]+-"

Данные.
Соня Риз(378) 555-4195
Энджел Браун(878) 555-8622
Блейк Мартин(437) 555-8987
Уильям Кирби(619) 555-4212
Эйвери Смит(579) 555-5658
Паркер Джонс(346) 555-0925
Лиам Смолл(405) 555-0887
Холли Риз(666) 555-1872
Формулы.
=РЕГУЛЯРНОЕ ВЫРАЖЕНИЕ(A2;"[0-9]+-";"***-")

Результат показан на следующем рисунке. Необходимо осуществить перенос текста в ячейке A4, чтобы отобразить разрывы строк в результате.

Использование РЕГЗАМЕНИТЬ для замены первых трех цифр каждого номера телефона в смешанном тексте на * с использованием шаблона [0-9]+-

Пример 2

Используйте функцию РЕГЗАМЕНИТЬ с группами захватов для разделения и изменения порядка имени и фамилии, используя шаблон: "([A-Z][a-z]+)([A-Z][a-z]+)"; и замена: "$2, $1".

Примечание. Группы захвата определяются шаблонно в круглых скобках "()", и вместо них можно ссылаться как на "$n". В этом примере $1 и $2 ссылаются на первую и вторую группы захвата соответственно.

Данные.
SoniaBrown
Формулы.
=РЕГУЛЯРНОЕ ВЫРАЖЕНИЕ(A2;"([A-Z][a-z]+)([A-Z][a-z]+)";"$2;$1")

На следующем рисунке показаны результаты.

Используйте REGEXREPLACE с группами захвата для разделения и изменения порядка имени и фамилии с помощью шаблона: ([A-Z][a-z]+)([A-Z][a-z]+) и замены: $2, $1