сопоставить слово из предложения в MYSQL, используя регулярное выражение - PullRequest
2 голосов
/ 11 сентября 2010

Как мне сопоставить слово в предложении из столбца с помощью регулярных выражений?Я пытался:

"select * from table where column regex '/\b".$text."\b/i'"

, но это не сработало.

Ответы [ 3 ]

3 голосов
/ 11 сентября 2010

Попробуйте это:

"SELECT * FROM table WHERE column REGEXP '[[:<:]]" . $text . "[[:>:]]'"

Вы должны убедиться, что любые символы, которые могут быть интерпретированы как специальные символы в $ text, правильно экранированы.Вам также следует убедиться, что вы не получили SQL-инъекцию.

3 голосов
/ 11 сентября 2010

MySQL особенно плохо относится к таким вещам. Я бы рекомендовал использовать синтаксис MATCH AGAINST http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html или использовать что-то вроде SOLR, если вы собираетесь делать это в объеме.

0 голосов
/ 11 сентября 2010

Я думаю, вы хотите предложение LIKE!

SELECT * FROM table WHERE column LIKE '%value%'

Также, пожалуйста, прочитайте ответ UltimateBrent, так как полнотекстовый поиск - очень хороший момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...