2014-11-26 7 views
0

Я хочу найти все записи в определенном столбце, которые содержат любые теги HTML, которые не являются тегами <br>.MySQL - исключить текст в regexp

Примеры:

включает: text <b>text</b> more text...

включают: text <br> <b>text</b> more text...

Не включают в себя: text <br> text <br> more text...

Я думаю, что нужно использовать regexp, но я не знаю, как исключить <br> только результаты.

+0

Это СО [статья] (http://stackoverflow.com/questions/6943215/mysql-regex-inverse-only-for-use-by-regexp) может помочь. В нем также упоминается «NOT REGEXP». – gwillie

+0

@gwillie да, это похоже на метод Казимира. Благодарю. – stepanian

ответ

1

Вы можете использовать этот шаблон:

<([^b][^>]*|b[^r][^>]*|b)> 

Идея заключается в том, чтобы использовать отрицательные классы символов, чтобы перечислить все возможности, которые не <br> тега. Поскольку вы ищете только теги html, вы можете разрешить все случаи, которые не начинаются с <br.

+0

Я предполагаю, что это изящно, как может быть. Благодарю. – stepanian