2014-01-07 3 views
1

извините за мой английский.
Пожалуйста, помогите с pregex в MySql. Я хочу найти два слова в тексте. Между этими словами может быть одно или несколько пробелов и/или знак препинания.
Например:

дерево,   яблочного
Дерево      ,       яблоко
Дерево          , яблоко
Дерево      , яблоко
дерево, яблоко

Спасибо вам !Regex в базе данных MySql

+0

Добро пожаловать на SO ... Что вы пробовали? и какой результат вы получили? – Enissay

ответ

2

MySQL изначально поддерживает RegEx с 5.1. Вы ищете что-то вроде:

SELECT * FROM `mytable` WHERE `mycol` REGEXP '[[:alpha:]]+[ ,.]*[[:alpha:]]+' 

Для получения дополнительной информации ознакомьтесь с MySQL Documentation

+2

Учитывая примеры в сообщении, я предполагаю, что вы должны использовать 'alpha' вместо' alnum'. Также стоит отметить, что 'RLIKE' является синонимом для REGEXP' и может быть использован также, хотя я предпочитаю' REGEXP', поскольку имя лучше подчеркивает функциональность оператора. – atomman

+0

@atomman, вы правы, отредактированы. –

+0

Спасибо ВАМ! Это прекрасно работает. – user2783755

Смежные вопросы