Topik ini menjelaskan fungsi reguler yang didukung untuk kluster AnalyticDB for MySQL.
Prasyarat
Versi mesin minor dari kluster AnalyticDB for MySQL adalah 3.1.5.10 atau lebih baru.
Catatan Untuk informasi lebih lanjut tentang cara melihat versi mesin minor suatu kluster, lihat Bagaimana cara saya melihat versi minor suatu kluster?
REGEXP_INSTR
regexp_instr(source, pattern[, position[, occurrence[, option]]] )- Deskripsi: Fungsi ini mencocokkan ekspresi reguler terhadap string dan mengembalikan bilangan bulat yang menunjukkan posisi awal atau akhir substring yang cocok. Secara default, parameter posisi diatur ke 1, yang menunjukkan bahwa pencocokan dimulai dari karakter pertama string yang ditentukan. Parameter kemunculan diatur ke 1 secara default, yang berarti substring yang cocok pertama kali dikembalikan. Parameter opsi diatur ke 0 secara default, yang menunjukkan bahwa posisi awal substring yang cocok dikembalikan. Jika Anda mengatur opsi ke 1, posisi karakter berikutnya dari substring yang cocok dikembalikan.
- Parameter:
source: string yang akan dicari. Tipe data: VARCHAR.pattern: ekspresi reguler.position: posisi awal untuk mencocokkan string yang ditentukan. Nilai default: 1. Tipe data: BIGINT.occurrence: nomor urutan kemunculan substring yang cocok untuk dikembalikan. Nilai default: 1. Tipe data: BIGINT.option: menentukan apakah akan mengembalikan offset karakter pertama dari kecocokan atau offset karakter pertama setelah akhir kecocokan. Nilai valid: 0 dan 1. Nilai default: 0. Tipe data: BIGINT.
- Nilai pengembalian: Nilai pengembalian bertipe BIGINT. Jika tidak ada kecocokan yang ditemukan, nilai 0 dikembalikan.
- Contoh:
- Contoh 1
Informasi berikut dikembalikan:SELECT REGEXP_INSTR('dog cat dog', 'dog') as res;+-----+ | res | +-----+ | 1 | +-----+ - Contoh 2
Informasi berikut dikembalikan:SELECT REGEXP_INSTR('dog cat dog', 'dog', 1, 2) as res;+-----+ | res | +-----+ | 9 | +-----+ - Contoh 3
Informasi berikut dikembalikan:SELECT REGEXP_INSTR('dog cat dog', 'dog', 1, 1, 1) as res;+-----+ | res | +-----+ | 4 | +-----+
- Contoh 1
REGEXP_MATCHES
regexp_matches(source, pattern[, flag])- Deskripsi: Fungsi ini mencocokkan ekspresi reguler terhadap string dan mengembalikan array substring yang cocok. Jika ekspresi reguler yang ditentukan berisi bendera g, semua substring yang cocok dikembalikan dalam array. Jika tidak, hanya substring yang cocok pertama kali yang dikembalikan dalam array. Jika nilai parameter pola berisi subekspresi, substring yang cocok dari subekspresi tersebut dikembalikan dalam array. Jika tidak, substring yang cocok dari ekspresi reguler yang ditentukan dikembalikan dalam array.
- Parameter:
source: string yang akan dicari. Tipe data: VARCHAR.pattern: ekspresi reguler.flag: satu atau lebih karakter yang mengontrol perilaku fungsi. Tipe data: VARCHAR.
- Nilai pengembalian: Nilai pengembalian bertipe ARRAY(ARRAY(VARCHAR)). Jika tidak ada kecocokan yang ditemukan, array kosong dikembalikan.
- Contoh:
- Contoh 1
Informasi berikut dikembalikan:SELECT regexp_matches('foobarbequebaz', '(bar)(beque)');+---------------------+ | regexp_matches | +---------------------+ | [["bar","beque"]] | - Contoh 2
Informasi berikut dikembalikan:SELECT regexp_matches('foobarbequebaz', 'barbeque');+---------------------+ | regexp_matches | +---------------------+ | [["barbeque"]] | - Contoh 3
Informasi berikut dikembalikan:SELECT regexp_matches('foobarbequebazilbarfbonk', '(b[^b]+)(b[^b]+)', 'g');+------------------------------------------+ | regexp_matches | +------------------------------------------+ | [["bar","beque"], ["bazil","barf"]] |
- Contoh 1
REGEXP_REPLACE
regexp_replace(source, pattern, replacement[, position[, occurrence]])- Deskripsi: Fungsi ini mencocokkan ekspresi reguler terhadap string dan mengganti substring yang cocok. Secara default, parameter posisi diatur ke 1, yang menunjukkan bahwa pencocokan dan penggantian dimulai dari karakter pertama string yang ditentukan. Parameter kemunculan diatur ke 0 secara default, yang menunjukkan bahwa semua substring yang cocok diganti.
- Parameter:
source: string yang akan dicari. Tipe data: VARCHAR.pattern: ekspresi reguler.replacement: string yang digunakan untuk mengganti kecocokan. Tipe data: VARCHAR.position: posisi awal untuk mencocokkan dan mengganti kecocokan. Nilai default: 1. Tipe data: BIGINT.occurrence: nomor urutan kemunculan substring yang cocok dan diganti untuk dikembalikan. Nilai default: 0. Tipe data: BIGINT.
- Nilai pengembalian: Nilai pengembalian bertipe VARCHAR. Jika tidak ada kecocokan yang ditemukan, string yang ditentukan dikembalikan.
- Contoh:
- Contoh 1
Informasi berikut dikembalikan:SELECT REGEXP_REPLACE('abc def ghi', '[a-z]+', 'X') as res;+-------+ | res | +-------+ | X X X | +-------+ - Contoh 2
Informasi berikut dikembalikan:SELECT REGEXP_REPLACE('abc def ghi', '[a-z]+', 'X', 1, 3) as res;+-----------+ | res | +-----------+ | abc def X | +-----------+
- Contoh 1
REGEXP_SUBSTR
regexp_substr(source, pattern[, position[, occurrence]])- Deskripsi: Fungsi ini mencocokkan ekspresi reguler terhadap string dan mengembalikan substring yang cocok. Secara default, parameter posisi diatur ke 1, yang menunjukkan bahwa pencocokan dimulai dari karakter pertama string yang ditentukan. Parameter kemunculan diatur ke 1 secara default, yang menunjukkan bahwa substring yang cocok pertama kali dikembalikan.
- Parameter:
source: string yang akan dicari. Tipe data: VARCHAR.pattern: ekspresi reguler.position: posisi awal untuk mencocokkan string yang ditentukan. Nilai default: 1. Tipe data: BIGINT.occurrence: nomor urutan kemunculan substring yang cocok untuk dikembalikan. Nilai default: 1. Tipe data: BIGINT.
- Nilai pengembalian: Nilai pengembalian bertipe VARCHAR. Jika tidak ada kecocokan yang ditemukan, NULL dikembalikan.
- Contoh:
- Contoh 1
Informasi berikut dikembalikan:SELECT REGEXP_SUBSTR('abc def ghi', '[a-z]+', 1, 3) as res;+------+ | res | +------+ | ghi | +------+ - Contoh 2
Informasi berikut dikembalikan:SELECT REGEXP_SUBSTR('abc def ghi', '[a-z]+') as res;+------+ | res | +------+ | abc | +------+
- Contoh 1