
РЕГВЫРАЖЕН.ИЗВЛЕЧ
Функция РЕГВЫРАЖЕН.ИЗВЛЕЧ возвращает совпадения или группы захвата в совпадении указанного регулярного выражения в исходной строке.
РЕГВЫРАЖЕН.ИЗВЛЕЧ(исходн. строка; строка регулярного выражения; номер совпадения; номер группы захвата)
исходн. строка: строковое значение, с которым выполняется сопоставление.
строка регулярного выражения: строковое значение, представляющее регулярное выражение, которое используется для сопоставления с исходной строкой.
номер совпадения: необязательное целое число, указывающее, какое совпадение должно быть возвращено при наличии нескольких совпадений. Допускается использование отрицательных целых чисел для вывода совпадений в обратном порядке. Таким образом, -1 — последнее совпадение и т. д. Если присвоено значение 0, то возвращается массив всех совпадений. По умолчанию возвращается первое совпадение.
номер группы захвата: необязательное целое число, указывающее, какая группа захвата внутри совпадения должна быть возвращена при наличии групп захвата в регулярном выражении. Отрицательные значения недопустимы. В случае возврата значения 0 возвращается массив всех групп захвата. По умолчанию возвращается все совпадение целиком.
Примечания
- Строка регулярного выражения должна соответствовать стандарту ICU. 
| Примеры | 
|---|
| Чтобы упростить работу с данными, которые сложно вместить в строки и столбцы таблицы, можно использовать функцию РЕГВЫРАЖЕН.ИЗВЛЕЧ. Например, данные в следующей таблице имеют определенную структуру. Но вручную разделять эти данные по разным ячейкам для просмотра может быть неудобно. | 
| A | |
|---|---|
| 1 | Отзывы пользователей | 
| 2 | Электронный адрес: jtalma@icloud.com Имя: Юлия Терентьева Дата: 17.05.2021 | 
| 3 | Электронный адрес: danny_rico@icloud.com Имя: Даниил Раков Дата: 02.06.2021 | 
| Чтобы решить эту проблему, можно добавить в таблицу несколько столбцов для параметров «Имя», «Электронный адрес», «Рейтинг» и «Дата», а затем с помощью функции РЕГВЫРАЖЕН.ИЗВЛЕЧ искать нужные данные и возвращать их в ячейку. Например, чтобы вернуть значение параметра «Имя», можно ввести следующую формулу.  В этой формуле использованы следующие аргументы: 
 Эту формулу можно повторить для каждой строки с данными. В этом случае она вернет имя каждого участвовавшего в опросе человека, изменяя аргумент исходн. строка таким образом, чтобы он соответствовал другим ячейкам, содержащим информацию об отзывах пользователей. | 
| Чтобы решить эту проблему, можно добавить в таблицу несколько столбцов для параметров «Имя», «Электронный адрес», «Рейтинг» и «Дата», а затем с помощью функции РЕГВЫРАЖЕН.ИЗВЛЕЧ искать нужные данные и возвращать их в ячейку. Например, можно ввести следующую формулу. ![Редактор формул, в котором отображается формула: =РЕГВЫРАЖЕН.ИЗВЛЕЧ(A2;"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2;4}")](https://help.apple.com/assets/67291F3EC4F2735346009182/67291F435DE5D6E2C50B4B78/ru_RU/2a8d3904355abd7bf47f649a7b058933.png) В этой формуле использованы следующие аргументы: 
 | 
| Изменение порядка данных в списке с помощью аргумента номер совпадения | 
|---|
| Иногда встречаются такие данные, как следующая таблица «Поставщики», в значения в которой собраны в одной ячейке. | 
| Поставщик | Товар | 
|---|---|
| A | Чечевица, Нут, Лимская фасоль | 
| B | Яблоки, Апельсины, Лимоны | 
| C | Киноа, Рис, Чиа | 
| Чтобы разделить значения по наличию и категории, сначала можно создать новую таблицу. Пример такой таблицы приведен ниже. | 
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Категория | A | B | C | 
| 2 | 1 | |||
| 3 | 2 | |||
| 4 | 3 | 
| Чтобы вернуть значение «Чечевица» (товар высшей категории для поставщика A), можно использовать такую формулу, как эта, в ячейке B2 новой таблицы.  В этой формуле использованы следующие аргументы: 
 | 
| Вышеприведенную формулу можно легко изменить для работы в таблице с другими поставщиками и другими товарами. 
 | 
| Дополнительные примеры | 
|---|
| Допустим, в ячейке A1 содержится текст «marina@example.com john@example.ca mike@example.de». =РЕГВЫРАЖЕН.ИЗВЛЕЧ(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})") возвращает «marina@example.com». =РЕГВЫРАЖЕН.ИЗВЛЕЧ(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; 2) возвращает «john@example.ca». =РЕГВЫРАЖЕН.ИЗВЛЕЧ(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; -1) возвращает «mike@example.de». =РЕГВЫРАЖЕН.ИЗВЛЕЧ(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; 1; 1) возвращает «marina». =РЕГВЫРАЖЕН.ИЗВЛЕЧ(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; 2; 2) возвращает «example.ca». |