

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

Ein regulärer POSIX-Ausdruck ist eine Zeichenfolge, die ein Übereinstimmungsmuster angibt. Eine Zeichenfolge entspricht einem regulären Ausdruck, wenn sie Teil der regulären Menge ist, die durch den regulären Ausdruck beschrieben wird.

Reguläre Ausdrücke entsprechend der POSIX-Spezifikation ermöglichen eine feinere Modellierung von Mustern als die Operatoren [LIKE](r_patternmatching_condition_like.md) und [SIMILAR TO](pattern-matching-conditions-similar-to.md). Bei regulären Ausdrücken entsprechend dem POSIX-Standard kann das Muster einer beliebigen Teilzeichenfolge entsprechen. Der Operator SIMILAR TO hingegen gibt „wahr“ genau dann zurück, wenn das Muster der gesamten Zeichenfolge entspricht.

**Anmerkung**  
Patternmatching mit regulären Ausdrücken unter Verwendung von POSIX-Operatoren erfordert einen hohen Rechenaufwand. Wir empfehlen, nach Möglichkeit LIKE zu verwenden, insbesondere, wenn eine große Anzahl an Zeilen verarbeitet werden muss. Ein Beispiel: Die folgenden Abfragen sind funktional identisch, aber die Abfrage mit LIKE wird 7-mal schneller ausgeführt als die Abfrage mit einem regulären Ausdruck:  

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

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

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

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

 *expression*   
Ein gültiger UTF8-Zeichenfolgenausdruck (beispielsweise ein Spaltenname). 

\$1  
Negationsoperator. Entspricht nicht dem regulären Ausdruck.

\$1  
Führt eine Suche über beliebige Teilzeichenfolgen in dem Ausdruck *expression* und unter Berücksichtigung der Groß-/Kleinschreibung durch.   
Der Operator `~~` ist ein Synonym für [LIKE](r_patternmatching_condition_like.md).

 *pattern*   
Ein Zeichenfolgenliteral, das ein Muster für reguläre Ausdrücke darstellt. 

Wenn das Muster *pattern* keine Platzhalterzeichen enthält, wird die Zeichenfolge selbst als Muster verwendet.

Um nach Zeichenfolgen zu suchen, die Metazeichen, beispielsweise `. * | ? ` usw. enthalten, müssen Sie dieses Zeichen mit zwei umgekehrten Schrägstrichen (` \\`) als Literal kennzeichnen. Im Gegensatz zu `SIMILAR TO` und `LIKE` unterstützen reguläre Ausdrücke entsprechend dem POSIX-Standard keine benutzerdefinierten Escape-Zeichenfolgen. 

Die Zeichenfolgenausdrücke können vom Datentyp CHAR oder VARCHAR sein. Wenn unterschiedliche Datentypen verwendet werden, konvertiert Amazon Redshift *pattern* in den Datentyp des Ausdrucks *expression*. 

Alle Zeichenfolgenausdrücke können vom Datentyp CHAR oder VARCHAR sein. Wenn in den Ausdrücken unterschiedliche Datentypen verwendet werden, konvertiert Amazon Redshift sie in den Datentyp des Ausdrucks *expression*. 

POSIX unterstützt die folgenden Metazeichen in Mustern: 

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

Amazon Redshift unterstützt die folgenden POSIX-Zeichenklassen: 

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

 Amazon Redshift unterstützt in regulären Ausdrücken die folgenden Operatoren, die an Perl angelehnt sind. Wenn Sie den Operator nicht als Metazeichen verwenden möchten, müssen Sie ihn mit zwei umgekehrten Schrägstrichen () als Literal kennzeichnen. (‘`\\`’).   

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

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

In der folgenden Tabelle werden Beispiele für Patternmatching unter Verwendung von POSIX-Operatoren dargestellt:

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

Das folgende Beispiel listet Städte auf, deren Name ein `E` oder ein `H` enthält: 

```
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
```

Das folgende Beispiel listet Städte auf, deren Name weder `E` noch `H` enthält: 

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

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

In dem folgenden Beispiel wird die Escape-Zeichenfolge (`\\`) verwendet, um nach Zeichenfolgen zu suchen, die den Punkt (.) enthalten. 

```
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
```