REGEXP_ COUNT fungsi - AWS Clean Rooms

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

REGEXP_ COUNT fungsi

Mencari string untuk pola ekspresi reguler dan mengembalikan integer yang menunjukkan berapa kali pola terjadi dalam string. Jika tidak ada kecocokan yang ditemukan, maka fungsi mengembalikan 0.

Sintaks

REGEXP_COUNT ( source_string, pattern [, position [, parameters ] ] )

Argumen

source_string

Ekspresi string, seperti nama kolom, yang akan dicari.

pola

Sebuah string literal yang mewakili pola ekspresi reguler.

posisi

Sebuah integer positif yang menunjukkan posisi dalam source_string untuk mulai mencari. Posisi didasarkan pada jumlah karakter, bukan byte, sehingga karakter multibyte dihitung sebagai karakter tunggal. Default-nya adalah 1. Jika posisi kurang dari 1, pencarian dimulai pada karakter pertama source_string. Jika posisi lebih besar dari jumlah karakter di source_string, hasilnya adalah 0.

parameter

Satu atau lebih string literal yang menunjukkan bagaimana fungsi cocok dengan pola. Nilai yang mungkin adalah sebagai berikut:

  • c — Lakukan pencocokan peka huruf besar/kecil. Defaultnya adalah menggunakan pencocokan peka huruf besar/kecil.

  • i — Lakukan pencocokan case-insensitive.

  • p — Menafsirkan pola dengan dialek Perl Compatible Regular Expression (PCRE).

Jenis pengembalian

Bilangan Bulat

Contoh

Contoh berikut menghitung berapa kali urutan tiga huruf terjadi.

SELECT regexp_count('abcdefghijklmnopqrstuvwxyz', '[a-z]{3}'); regexp_count -------------- 8

Contoh berikut menghitung berapa kali nama domain tingkat atas adalah salah satu atauorg. edu

SELECT email, regexp_count(email,'@[^.]*\\.(org|edu)')FROM users ORDER BY userid LIMIT 4; email | regexp_count -----------------------------------------------+-------------- Etiam.laoreet.libero@sodalesMaurisblandit.edu | 1 Suspendisse.tristique@nonnisiAenean.edu | 1 amet.faucibus.ut@condimentumegetvolutpat.ca | 0 sed@lacusUtnec.ca | 0

Contoh berikut menghitung kemunculan string, menggunakan pencocokan FOX case-insensitive.

SELECT regexp_count('the fox', 'FOX', 1, 'i'); regexp_count -------------- 1

Contoh berikut menggunakan pola yang ditulis dalam PCRE dialek untuk menemukan kata-kata yang mengandung setidaknya satu angka dan satu huruf kecil. Ini menggunakan ?= operator, yang memiliki konotasi tampilan ke depan tertentu di. PCRE Contoh ini menghitung jumlah kemunculan kata-kata tersebut, dengan pencocokan peka huruf besar/kecil.

SELECT regexp_count('passwd7 plain A1234 a1234', '(?=[^ ]*[a-z])(?=[^ ]*[0-9])[^ ]+', 1, 'p'); regexp_count -------------- 2

Contoh berikut menggunakan pola yang ditulis dalam PCRE dialek untuk menemukan kata-kata yang mengandung setidaknya satu angka dan satu huruf kecil. Ini menggunakan ?= operator, yang memiliki konotasi khusus di. PCRE Contoh ini menghitung jumlah kemunculan kata-kata tersebut, tetapi berbeda dari contoh sebelumnya karena menggunakan pencocokan case-insensitive.

SELECT regexp_count('passwd7 plain A1234 a1234', '(?=[^ ]*[a-z])(?=[^ ]*[0-9])[^ ]+', 1, 'ip'); regexp_count -------------- 3