Функция РЕГИЗВЛЕЧЬ позволяет извлекать текст из строки на основе предоставленного регулярного выражения. Вы можете извлечь первое совпадение, все совпадения или захватывающие группы из первого совпадения.
Синтаксис
Функция РЕГИЗВЛЕЧЬ извлекает строки из предоставленного текста , соответствующие шаблону.
Синтаксис функции РЕГИЗВЛЕЧЬ выглядит следующим образом:
РЕГИЗВЛЕЧЬ (текст; шаблон; [return_mode]; [case_sensitivity])
| Аргумент | Описание |
|---|---|
|
текст (обязательно) |
Текст или ссылка на ячейку, содержащую текст, из которого требуется извлечь строки. |
|
шаблон (обязательно) |
Регулярное выражение ("regex"), описывающее шаблон извлекаемого текста. |
| return_mode | Число, определяющее, какие строки нужно извлечь. По умолчанию режим возврата равен 0. Возможные значения: 0: Возврат первой строки, соответствующей шаблону 1: Возврат всех строк, соответствующих шаблону, в виде массива 2: Вернуть группы захвата из первого совпадения в виде массива Примечание. Захватывающие группы — это части шаблона регулярных выражений, окруженные круглыми скобками "(...)". Они позволяют возвращать отдельные части одного совпадения по отдельности. |
| case_sensitivity | Определяет, учитывается ли регистр в совпадении. По умолчанию совпадение чувствительно к регистру. Введите одно из следующих значений: 0: С учетом регистра 1: Без учета регистра |
Примечание
Самый простой шаблон — это буквальный текст, с которым нужно сопоставить сопоставление. Например, для поиска совпадения с текстом "Подбор совпадения" можно использовать шаблон "Подбор совпадения".
Также можно использовать символы, называемые "жетонами", которые совпадают с различными символами. Вот несколько простых маркеров для справки:
"[0-9]": любая цифра
"[a-z]": символ в диапазоне от А до Я
".": любой символ
"a": символ "a"
"a*": ноль или больше "a"
"a+": одна или несколько "a"
Все регулярные выражения для этой функции, а также REGEXТЕСТ и REGEXREPLACE используют "разновидность" регулярного выражения PCRE2.
Функция РЕГИЗВЛЕЧЬ всегда возвращает текстовые значения. Эти результаты можно преобразовать обратно в число с помощью функции ЗНАЧЕН.
Примеры
Скопируйте пример данных и вставьте их в ячейку A1 нового листа Excel. При необходимости измените ширину столбцов, чтобы видеть все данные.
Пример 1
Извлекать имена на основе прописных букв с использованием шаблона "[А-Я][a-z]+"
| Данные. |
|---|
| Дилан Уильямс |
| Формулы. |
| =РЕГИЗВЛЕЧЬ (A2;"[A-Z][a-z]+") |
| =РЕГИЗВЛЕЧЬ (A2;"[A-Z][a-z]+";1) |
На следующем рисунке показаны результаты.
Пример 2
Извлекайте номера телефонов на основе их структуры с помощью шаблона "[0-9()]+ [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()]+ [0-9-]+";1) |
Результат показан на следующем рисунке.