2015-07-22 3 views
0

я имею следующие значения в моей таблице колонки:регулярного выражения MySQL поиск

field_challenge_steps 
field_challenge_steps.nid 
field_challenge_steps.entity_view_prepared.nid 
field_challenge_steps.entity_view_prepared.entity_view_prepared.nid 
field_challenge_steps.entity_view_prepared.entity_view_prepared.entity_view_prepared.nid 
nid 
vid 
und 
body 

Как написать регулярное выражение для того, чтобы запрос возвращал следующий результат:

field_challenge_steps.nid 
field_challenge_steps.entity_view_prepared.nid 
field_challenge_steps.entity_view_prepared.entity_view_prepared.nid 
field_challenge_steps.entity_view_prepared.entity_view_prepared.entity_view_prepared.nid 

ответ

1
SELECT * FROM table 
WHERE column REGEXP '^field_challenge_steps(\.entity_view_prepared)*\.nid$'; 
+0

не работает для меня, он вернет «field_challenge_steps.aaa.nid». Мне это не нужно. Мне нужны только записи, начинающиеся с «field_challenge_steps» и заканчивающиеся на «.nid», и между этими двумя мы можем иметь «entity_view_prepared» –

+0

@DumitruGutu обновлено – Vishnu

+0

вот что мне нужно Спасибо –

0

Согласно на ваш комментарий:

field_challenge_steps(\.entity_view_prepared.?)?\.nid

Демонстрация http://rubular.com/r/HkbRGcfm8b

+0

Я хочу, чтобы все, что начиналось с «field_challenge_steps», и заканчивается на «.nid», и между этими двумя мы можем иметь «entity_view_prepared». поэтому, если у меня есть: field_challenge_steps.aaa.nid - его следует игнорировать –

+0

@DumitruGutu отредактировал – Aurel