Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come definire un'espressione regolare con più operatori OR in cui ogni termine include un prefisso e un suffisso di spazio?

Prova questo:

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

Come @mathematical.coffee, ho iniziato calcolando lo spazio iniziale e sostituendo lo spazio finale con uno sguardo al futuro, in questo caso, un negativo guarda avanti per uno spazio non bianco carattere. In questo modo funzionerà anche se il token è l'ultimo nella stringa e non è seguito da uno spazio. Ma il cambiamento più importante è sostituire due o più partite alla volta, quando possibile.