sql >> Databasteknik >  >> RDS >> Sqlserver

Hur definierar man ett reguljärt uttryck med flera OR-operatorer där varje term inkluderar ett mellanslagsprefix och suffix?

Prova detta:

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

Precis som @mathematical.coffee började jag med att faktorisera det ledande utrymmet och ersätta det efterföljande utrymmet med en lookahead--i det här fallet en negativ se fram emot ett icke-vitutrymme karaktär. På så sätt kommer det att fungera även om token är den sista i strängen och inte följs av ett mellanslag. Men den viktigaste förändringen är att ersätta två eller flera matcher åt gången när det är möjligt.



  1. Effektiv fråga för att dela upp en avgränsad kolumn i en separat tabell

  2. UTF-8 fungerar inte i HTML-formulär

  3. hur man väljer topp 5 maxvärden i mytable

  4. auto_increment användning i sammansatt nyckel