REGEX.EXTRACT
Функція REGEX.EXTRACT повертає збіги або групи захоплення у збігу даного регулярного виразу в рядку-джерелі.
REGEX.EXTRACT(рядок-джерело; рядок-регулярний-вираз; входження-збіг; входження-група-захоплення)
рядок-джерела: рядок, у якому шукають збіги.
рядок-регулярного-виразу: рядкове значення, яке відображає регулярний вираз, який використовується для пошуку збігу в рядку-джерелі.
входження-збіг: необов’язкове ціле число, яке вказує, котрий зі збігів буде повернено, якщо їх декілька. Від’ємні цілі числа дозволяють рахувати збіги з кінця: значення -1 поверне останній збіг, і так далі. Якщо значення 0, повертається масив усіх збігів. Якщо значення пропущено, повертається перший збіг.
входження-група-захоплення: необов’язкове ціле число, яке вказує, яку групу захоплення в збігу буде повернено, якщо в регулярному виразі є групи захоплення. Від’ємні значення не приймаються. Якщо значення 0, повертається масив усіх груп захоплення. Якщо значення пропущено, повертається увесь збіг.
Примітки
Рядковий-регулярний-вираз має бути сформований за стандартом ICU.
Приклади |
---|
Якщо у вас є дані, які не вміщуються в рядки та стовпці електронної таблиці, ви можете скористатися REGEX.EXTRACT для спрощення. Наприклад, у наведеній нижче таблиці дані мають певну структуру, однак вручну розділити дані на кілька клітинок для перегляду може бути складно. |
A | |
---|---|
1 | Огляди користувачів |
2 | Електронна пошта: nmykytiuk@icloud.com Ім’я: Наталя Микитюк Дата: 17.05.2021 |
3 | Електронна пошта: danylo_kosach@icloud.com Ім’я: Данило Косач Дата: 02.06.2021 |
Щоб виправити це, можна додати більше стовпців у таблицю для імені, електронної адреси, рейтингу та дати, а потім використати REGEX.EXTRACT для пошуку потрібних даних і відображення їх у клітинці. Наприклад, щоб повернути ім’я, можна ввести таку формулу: У цій формулі використовуються такі аргументи:
Цю формулу можна повторювати для кожного рядка даних, щоб повернути ім’я кожної людини, що відповіла на опитування, змінюючи рядок-джерело відповідно до інших клітинок з інформацією про відгуки користувачів. |
Щоб виправити це, можна додати більше стовпців у таблицю для імені, електронної адреси, рейтингу та дати, а потім використати REGEX.EXTRACT для пошуку потрібних даних і відображення їх у клітинці. Наприклад, можна ввести таку формулу: У цій формулі використовуються такі аргументи:
|
Перевпорядковуйте дані зі списку за допомогою аргументу входження-збіг |
---|
Інколи ви можете отримувати дані, як-от таблиця нижче (під назвою «Постачальники»), яка групує значення в клітинці. |
Постачальник | Товар |
---|---|
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". =REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})") повертає "marina@example.com". =REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"; 2) повертає "john@example.ca". =REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"; -1) повертає "mikeexample.de". =REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"; 1; 1) повертає "marina". =REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"; 2; 2) повертає "example.ca". |