Вы можете использовать группы, так как все, что вам нужно, это логический результат, и совпадение ищется только один раз:
SELECT * FROM table where column regexp '([^.]|^)[.]{2}([^.]|$)'
Подробности
([^.]|^)
- любой символ, кроме .
или начало строки [.]{2}
- две точки ([^.]|$)
- любой символ, кроме .
или конец строки
Обратите внимание, что любая запись, содержащая эту подстроку, будет возвращена, даже если есть подстроки ...
, например abc...bc..
. Чтобы избежать этого, вы можете просто использовать
SELECT * FROM table where column LIKE '%..%'
AND column NOT LIKE '%...%'
LIKE
требует полного сопоставления с шаблоном, поэтому %
соответствует любым 0 или более символам с начала, ..
или ...
соответствуют двум или три точки, а затем %
соответствует остальной части строки.