

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# Operator POSIX
<a name="pattern-matching-conditions-posix"></a>

Ekspresi reguler POSIX adalah urutan karakter yang menentukan pola kecocokan. String cocok dengan ekspresi reguler jika itu adalah anggota dari set reguler yang dijelaskan oleh ekspresi reguler.

Ekspresi reguler POSIX memberikan sarana yang lebih kuat untuk pencocokan pola daripada [SIMILAR TO](pattern-matching-conditions-similar-to.md) operator [SUKA](r_patternmatching_condition_like.md) dan. Pola ekspresi reguler POSIX dapat cocok dengan setiap bagian dari string, tidak seperti operator SIMILAR TO, yang mengembalikan true hanya jika polanya cocok dengan seluruh string.

**catatan**  
Pencocokan ekspresi reguler menggunakan operator POSIX mahal secara komputasi. Kami merekomendasikan menggunakan LIKE bila memungkinkan, terutama saat memproses sejumlah besar baris. Misalnya, kueri berikut identik secara fungsional, tetapi kueri yang menggunakan LIKE berjalan beberapa kali lebih cepat daripada kueri yang menggunakan ekspresi reguler:  

```
select count(*) from event where eventname ~ '.*(Ring|Die).*'; 
select count(*) from event where eventname LIKE '%Ring%' OR eventname LIKE '%Die%';
```

## Sintaksis
<a name="pattern-matching-conditions-posix-synopsis"></a>

```
expression [ ! ] ~ pattern
```

## Argumen
<a name="pattern-matching-conditions-posix-arguments"></a>

 *ekspresi*   
Ekspresi karakter UTF-8 yang valid, seperti nama kolom. 

\$1  
Operator negasi. Tidak cocok dengan ekspresi reguler.

\$1  
*Lakukan kecocokan peka huruf besar/kecil untuk setiap substring ekspresi.*   
A `~~` adalah sinonim untuk. [SUKA](r_patternmatching_condition_like.md)

 *pola*   
Sebuah string literal yang mewakili pola ekspresi reguler. 

Jika *pola* tidak mengandung karakter wildcard, maka pola hanya mewakili string itu sendiri.

Untuk mencari string yang menyertakan metakarakter, seperti '`. * | ? `', dan seterusnya, hindari karakter menggunakan dua garis miring terbalik (''). ` \\` Tidak seperti `SIMILAR TO` dan`LIKE`, sintaks ekspresi reguler POSIX tidak mendukung karakter escape yang ditentukan pengguna. 

Salah satu ekspresi karakter dapat berupa tipe data CHAR atau VARCHAR. *Jika berbeda, Amazon Redshift mengubah *pola* ke tipe data ekspresi.* 

Semua ekspresi karakter dapat berupa tipe data CHAR atau VARCHAR. *Jika ekspresi berbeda dalam tipe data, Amazon Redshift mengonversinya menjadi tipe data ekspresi.* 

Pencocokan pola POSIX mendukung metakarakter berikut: 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/dg/pattern-matching-conditions-posix.html)

Amazon Redshift mendukung kelas karakter POSIX berikut. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/dg/pattern-matching-conditions-posix.html)

 Amazon Redshift mendukung operator yang dipengaruhi Perl berikut dalam ekspresi reguler. Melarikan diri dari operator menggunakan dua garis miring terbalik ('`\\`').   

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/dg/pattern-matching-conditions-posix.html)

## Contoh
<a name="pattern-matching-conditions-posix-synopsis-examples"></a>

Tabel berikut menunjukkan contoh pencocokan pola menggunakan operator POSIX:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/dg/pattern-matching-conditions-posix.html)

Contoh berikut menemukan kota yang namanya mengandung `E` atau`H`: 

```
SELECT DISTINCT city FROM users
WHERE city ~ '.*E.*|.*H.*' ORDER BY city LIMIT 5;

      city
-----------------
 Agoura Hills
 Auburn Hills
 Benton Harbor
 Beverly Hills
 Chicago Heights
```

Contoh berikut menemukan kota yang namanya tidak mengandung `E` atau`H`: 

```
SELECT DISTINCT city FROM users WHERE city !~ '.*E.*|.*H.*' ORDER BY city LIMIT 5;

      city
-----------------
 Aberdeen	
 Abilene	
 Ada	
 Agat	
 Agawam
```

Contoh berikut menggunakan escape string ('`\\`') untuk mencari string yang menyertakan titik. 

```
SELECT venuename FROM venue
WHERE venuename ~ '.*\\..*'
ORDER BY venueid;

          venuename
------------------------------
 St. Pete Times Forum
 Jobing.com Arena
 Hubert H. Humphrey Metrodome
 U.S. Cellular Field
 Superpages.com Center
 E.J. Nutter Center
 Bernard B. Jacobs Theatre
 St. James Theatre
```