Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zdefiniować wyrażenie regularne z wieloma operatorami OR, gdzie każdy termin zawiera przedrostek i przyrostek spacji?

Spróbuj tego:

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

Podobnie jak @mathematical.coffee, zacząłem od wyodrębnienia spacji wiodącej i zastąpienia spacji końcowej znakiem wyprzedzającym — w tym przypadku ujemnym patrz w przyszłość dla niebiałej spacji postać. W ten sposób zadziała, nawet jeśli token jest ostatnim w ciągu i nie ma po nim spacji. Ale najważniejszą zmianą jest zastępowanie dwóch lub więcej meczów na raz, gdy tylko jest to możliwe.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy kopia zapasowa MS SQL 2005 może zostać przywrócona na instancję MS SQL 2008?

  2. Jak zaimportować plik .bak do programu Microsoft SQL Server 2012?

  3. Jawną wartość kolumny tożsamości w tabeli można określić tylko wtedy, gdy jest używana lista kolumn, a IDENTITY_INSERT jest WŁĄCZONY SQL Server

  4. SQL Server 2005 — numer_wiersza()

  5. Nie można znaleźć kolumny dbo, funkcji zdefiniowanej przez użytkownika lub agregacji dbo.Splitfn lub nazwa jest niejednoznaczna