Необходимо выбрать строки из таблицы, которые содержат одну подстроку (или подстроки) и не содержат других. Важно сделать одно выражение.
Google говорит, что регулярное выражение типа ^ (? =. * Subs1) (?!. * Subs2) $ может работать, но оно не работает для меня (также проверено на https://regexr.com/)
Например
SELECT * FROM TABLE WHERE target_string REGEXP "^(?=.*subs1)(?!.*subs2)$"
bla / subs1 / bla / bla -> true (возвращать как результат запроса)
bla / subs1 / bla / subs2 -> false
бла / бла / сабс2 / бла -> ложь
2 условия в одном выражении не работают (отдельно работают)
Спасибо за помощь!