PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL Regex-Wortgrenzen?

PostgreSQL verwendet \m , \M , \y und \Y als Wortgrenzen:

\m   matches only at the beginning of a word
\M   matches only at the end of a word
\y   matches only at the beginning or end of a word
\Y   matches only at a point that is not the beginning or end of a word 

Siehe Regular Expression Constraint Escapes im Handbuch.

Es gibt auch [[:<:]] und [[:>:]] , die auf den Anfang und das Ende eines Wortes passen. Aus dem Handbuch:

Es gibt zwei Sonderfälle von Klammerausdrücken:die Klammerausdrücke [[:<:]] und [[:>:]] sind Beschränkungen, die leere Zeichenketten am Anfang bzw. am Ende eines Wortes abgleichen. Ein Wort ist definiert als eine Folge von Wortzeichen, denen weder Wortzeichen vorangehen noch folgen. Ein Wortzeichen ist ein Alnum-Zeichen (wie durch ctype definiert) oder ein Unterstrich. Dies ist eine Erweiterung, die mit POSIX 1003.2 kompatibel, aber nicht von ihr spezifiziert ist, und sollte in Software, die auf andere Systeme portierbar sein soll, mit Vorsicht verwendet werden. Die unten beschriebenen Constraint-Escapes sind normalerweise vorzuziehen (sie sind kein Standard mehr, aber sicherlich einfacher einzugeben).