REGEX.EXTRACT

Fungsi REGEX.EXTRACT menghasilkan kecocokan atau grup pengambilan di kecocokan ekspresi reguler yang ditentukan di string sumber.

REGEX.EXTRACT(source-string, regular-expression-string, match-occurrence, capture-group-occurrence)

source-string: Nilai string untuk dicocokkan.

regular-expression-string: Nilai string yang mewakili ekspresi reguler, yang digunakan untuk dicocokkan dengan source-string.

match-occurrence: Integer opsional yang menandakan kecocokan mana yang harus dihasilkan, jika terdapat beberapa kecocokan. Integer negatif diterima dan memungkinkan akses kecocokan ke belakang, sehingga -1 adalah kecocokan terakhir, dan seterusnya. Jika 0 ditentukan, larik semua kecocokan akan dihasilkan. Jika dihilangkan, kecocokan pertama dihasilkan.

capture-group-occurrence: Integer opsional yang menandakan grup pengambilan mana dalam kecocokan yang harus dihasilkan, jika terdapat grup pengambilan di ekspresi reguler. Nilai negatif tidak diterima. Jika 0 dihasilkan, larik semua grup pengambilan akan dihasilkan. Jika dihilangkan, seluruh kecocokan dihasilkan.

Catatan

  • regular-expression-string harus sesuai dengan standar ICU.

Contoh

Jika Anda memiliki data yang tidak cocok ke baris dan kolom spreadsheet, Anda dapat menggunakan REGEX.EXTRACT untuk menyederhanakannya. Misalnya, di tabel di bawah, data memiliki beberapa struktur, tapi data sulit dipisahkan secara manual ke beberapa sel per ulasan.

A

1

Ulasan Pengguna

2

Email: jtalma@icloud.com Nama: Julie Talma Tanggal: 17/05/2021

3

Email: danny_rico@icloud.com Nama: Danny Rico Tanggal: 02/06/2021

Untuk memperbaiki ini, Anda dapat menambahkan kolom lainnya ke tabel untuk Nama, Email, Nilai, dan Tanggal, lalu menggunakan REGEX.EXTRACT untuk menemukan data yang Anda inginkan dan menghasilkannya di sel.

Misalnya, Anda dapat memasukkan formula berikut untuk menghasilkan nama:

Editor Formula menampilkan formula =REGEX.EXTRACT(A2;"(?<=Nama: )(.*)(?= Tanggal)".

Di formula ini, argumen berikut digunakan:

  • source-string: A2, sel yang berisi data yang Anda inginkan untuk mencari nama.

  • regular-expression-string: "(?<=Nama: )(.*)(?= Tanggal)", ekspresi reguler yang mencari teks di antara string "Nama: " dan " Tanggal".

Formula dapat diulang untuk setiap baris data untuk menghasilkan nama setiap orang yang merespons survei dengan mengubah source-string agar sesuai dengan sel lainnya yang berisi informasi ulasan pengguna.

Untuk memperbaiki ini, Anda dapat menambahkan kolom lainnya ke tabel untuk Nama, Email, Nilai, dan Tanggal, lalu menggunakan REGEX.EXTRACT untuk menemukan data yang Anda inginkan dan menghasilkannya di sel.

Misalnya, Anda dapat memasukkan formula berikut:

Editor Formula menampilkan formula =REGEX.EXTRACT(A2;"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2;4}")

Di formula ini, argumen berikut digunakan:

  • source-string: A2, sel yang berisi data yang Anda inginkan untuk mencari email.

  • regular-expression-string: "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2;4}", ekspresi reguler yang mencari pola alamat email.

Menyusun ulang data dari daftar dengan match-occurrence

Terkadang, Anda mungkin memiliki data seperti tabel (berjudul Pemasok) di bawah, yang mengelompokkan nilai bersama di sel:

Pemasok

Item

A

Lentil, Garbanzo, Kratok

B

Apel, Jeruk, Lemon

C

Quinoa, Beras, Chia

Untuk memisahkan nilai berdasarkan toko dan peringkat, Anda dapat membuat tabel baru terlebih dahulu, seperti tabel di bawah:

A

B

C

D

1

Peringkat

A

B

C

2

1

3

2

4

3

Untuk menghasilkan Lentil, item peringkat teratas untuk Pemasok A, Anda dapat menggunakan formula seperti ini di sel B2 pada tabel baru untuk menghasilkan Lentil, item peringkat teratas untuk Pemasok A:

Editor Formula menampilkan formula =REGEX.EXTRACT(Pemasok::B2;"\w+";ROW(A2)-1).

Di formula ini, argumen berikut digunakan:

  • source-string: Pemasok::B2, sel yang berisi data yang Anda inginkan untuk mencari. Dalam hal ini, Anda ingin mencari daftar di sel ini.

  • regular-expression-string: "\w+", ekspresi reguler yang mencari kata.

  • match-occurrence: ROW(A2)-1. Dalam hal ini, terdapat 3 kecocokan untuk semua REGEX.EXTRACT, dan Anda dapat menggunakan fungsi lain seperti ROW untuk mengatur kecocokan tertentu yang Anda inginkan. ROW(A2) menghasilkan jumlah baris dari sel yang dipilih (2), dan -1 disertakan untuk mengurangi baris header dari hasil; jika tidak Anda akan menghasilkan Garbanzo (kecocokan kedua) di contoh ini.

    Jika Anda menghilangkan match-occurrence, hasil untuk setiap pemasok selalu kata pertama yang dihasilkan (Lentil untuk Pemasok A, Apel untuk Pemasok B, dan seterusnya).

Formula di atas dapat dimodifikasi dengan mudah untuk melengkapi tabel untuk pemasok dan item lainnya.

  • Untuk menghasilkan produk populer lainnya untuk satu pemasok, Anda dapat memodifikasi match-occurrence. Misalnya, untuk menghasilkan Garbanzo, item populer berikutnya untuk Pemasok A, Anda dapat mengubah rujukan sel di match-occurrence dari A2 ke A3.

  • Untuk menghasilkan nilai untuk pemasok lain, Anda dapat memodifikasi source-string. Misalnya, untuk menghasilkan Apel, item populer untuk Pemasok B, Anda dapat mengubah rujukan sel di source-string dari B2 ke B3.

Contoh tambahan

Biarkan A1 berisi "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})") menghasilkan "marina@example.com".

=REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; 2) menghasilkan "john@example.ca".

=REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; -1) menghasilkan "mikeexample.de".

=REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; 1; 1) menghasilkan "marina".

=REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; 2; 2) menghasilkan "example.ca".

Lihat jugaREGEX
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
Bermanfaat?
Batas karakter: 250
Batas karakter maksimum adalah 250.
Terima kasih atas umpan balik Anda.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.