Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie definiere ich einen regulären Ausdruck mit mehreren ODER-Operatoren, bei denen jeder Begriff ein Leerzeichen als Präfix und Suffix enthält?

Versuchen Sie Folgendes:

(?: (?:and or|and|a o|company|co|c o|dba|d b a))+(?!\S)/i

Wie bei @mathematical.coffee habe ich damit begonnen, das führende Leerzeichen auszuklammern und das nachfolgende Leerzeichen durch ein Lookahead zu ersetzen – in diesem Fall ein Negativ Lookahead für ein Nicht-Leerzeichen Charakter. Auf diese Weise funktioniert es auch dann, wenn das Token das letzte in der Zeichenfolge ist und kein Leerzeichen folgt. Aber die wichtigste Änderung besteht darin, zwei oder mehr Spiele gleichzeitig zu ersetzen, wann immer dies möglich ist.