Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como definir uma expressão regular com vários operadores OR em que cada termo inclui um prefixo e sufixo de espaço?


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

Assim como @mathematical.coffee, comecei fatorando o espaço inicial e substituindo o espaço final por um lookahead -- neste caso, um negativo antecipar um não-espaço em branco personagem. Dessa forma, funcionará mesmo que o token seja o último da string e não seja seguido por um espaço. Mas a mudança mais importante é substituir duas ou mais partidas ao mesmo tempo, sempre que possível.