REGEX.EXTRACT
Fungsi REGEX.EXTRACT mengembalikan padanan atau kumpulan tangkapan dalam padanan ungkapan biasa yang ditentukan dalam rentetan sumber.
REGEX.EXTRACT(source-string, regular-expression-string, match-occurrence, capture-group-occurrence)
source-string: Nilai rentetan untuk dipadankan.
regular-expression-string: Nilai rentetan yang mewakili ungkapan biasa, digunakan untuk memadankan ke source-string.
match-occurence: Integer pilihan yang menandakan padanan yang harus dikembalikan, jika terdapat berbilang padanan. Integer negatif diterima dan dibenarkan mengakses padanan secara ke belakang, supaya -1 ialah padanan terakhir dan seterusnya. Jika 0 ditentukan, tatasusunan semua padanan dikembalikan. Jika dikecualikan, padanan pertama dikembalikan.
capture-group-occurence: Integer pilihan yang menandakan kumpulan tangkapan dalam padanan yang harus dikembalikan, jika terdapat kumpulan tangkapan dalam ungkapan biasa. Nilai negatif tidak diterima. Jika 0 dikembalikan, tatasusunan semua kumpulan tangkapan dikembalikan. Jika dikecualikan, keseluruhan padanan dikembalikan.
Nota
regular-expression-string perlu mematuhi standard ICU.
Contoh |
---|
Jika anda mempunyai data yang tidak muat dengan mudah dalam baris atau lajur hamparan, anda boleh menggunakan REGEX.EXTRACT untuk meringkaskannya. Contohnya, dalam jadual di bawah, data mempunyai beberapa struktur, tetapi agak sukar untuk mengasingkan data secara manual kepada berbilang sel per ulasan. |
A | |
---|---|
1 | Ulasan Pengguna |
2 | E-mel: jtalma@icloud.com Nama: Julie Talma Tarikh: 17/05/2021 |
3 | E-mel: danny_rico@icloud.com Nama: Danny Rico Tarikh: 2/06/2021 |
Untuk membetulkan ini, anda boleh menambah lebih lajur ke jadual untuk Nama, E-mel, Penilaian dan Tarikh dan kemudian menggunakan REGEX.EXTRACT untuk mencari data yang anda mahukan dan mengembalikannya dalam sel. Contohnya, anda boleh memasukkan formula yang berikut untuk mengembalikan nama: Dalam formula ini, argumen berikut digunakan:
Formula ini boleh diulang untuk setiap baris data bagi mengembalikan nama setiap orang yang memberi maklum balas tinjauan dengan menukar source-string supaya sepadan dengan sel lain yang mengandungi maklumat ulasan pengguna. |
Untuk membetulkan ini, anda boleh menambah lebih lajur ke jadual untuk Nama, E-mel, Penilaian dan Tarikh dan kemudian menggunakan REGEX.EXTRACT untuk mencari data yang anda mahukan dan mengembalikannya dalam sel. Contohnya, anda boleh memasukkan formula yang berikut: Dalam formula ini, argumen berikut digunakan:
|
Menyusun semula data daripada senarai dengan match-occurrence |
---|
Kadang kala, anda mungkin mempunyai data seperti jadual (bertajuk Pembekal) di bawah, yang mengumpulkan nilai dalam sel: |
Pembekal | Item |
---|---|
A | Kekacang, Garbanzo, Lima |
B | Epal, Oren, Lemon |
C | Kuinoa, Beras, Chia |
Untuk mengasingkan nilai berdasarkan kedai dan taraf, anda boleh mencipta jadual baharu terlebih dahulu, seperti jadual di bawah: |
A | B | C | D | |
---|---|---|---|---|
1 | Taraf | A | B | C |
2 | 1 | |||
3 | 2 | |||
4 | 3 |
Untuk mengembalikan Kekacang, item ditarafkan teratas untuk Pembekal A, anda boleh menggunakan formula seperti ini dalam sel B2 jadual baharu untuk mengembalikan Kekacang, item ditarafkan teratas untuk Pembekal A: Dalam formula ini, argumen berikut digunakan:
|
Formula di atas boleh diubah suai dengan mudah untuk melengkapkan jadual bagi pembekal lain dan item lain.
|
Contoh tambahan |
---|
Biarkan A1 menjadi "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})") mengembalikan "marina@example.com". =REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2) mengembalikan "john@example.ca". =REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", -1) mengembalikan "mikeexample.de". =REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 1, 1) mengembalikan "marina". =REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2, 2) mengembalikan "example.ca". |