|
|
|
Пожалуйста помогите составить запрос с рег.выражением
|
|||
|---|---|---|---|
|
#18+
Пожалуйста помогите составить запрос с рег.выражением Надо регулярным выражением выбрать из колонки "body" таблицы "docdata" все записи, в которых встречается гиперссылки на файлы по маске *14.doc, находящиеся в папке "/img/". например: Код: plaintext 1. 2. 3. В именах файлов могут быть латинские буквы в любом регистре, цифры, дефис, знак подчеркивания и круглые скобки. Варианты запросов не работают: Код: sql 1. Код: sql 1. Код: sql 1. Поиск по многочисленным программистским форумам, тоже ничего не дал... Заранее благодарю за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 16:57:48 |
|
||
|
Пожалуйста помогите составить запрос с рег.выражением
|
|||
|---|---|---|---|
|
#18+
Gentianviolett, Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 00:52:06 |
|
||
|
Пожалуйста помогите составить запрос с рег.выражением
|
|||
|---|---|---|---|
|
#18+
Спасибо, Aristol! Все сработало, и результат похож на правду! :) Был удивлен, что mySQL-запросах не нужно экранировать слеши, точки и др. спец. символы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2013, 17:43:28 |
|
||
|
Пожалуйста помогите составить запрос с рег.выражением
|
|||
|---|---|---|---|
|
#18+
А если задам еще более сложный вопрос? Сейчас решил свою задачу на РНР. Массив записей, полученных Вашим запросом с REGEXP, перебираю в цикле. К каждому значению поля `body` применяю PHP-регулярное выражение, меняющее путь к .doc-файлам, затем выполняю для него запрос к базе через UPDATE. Работает, но выглядит не слишком элегантно. Можно ли одним (!) запросом заменить во всех найденных записях, подстроки по шаблону '/img/.*14.doc' на '/word/.*14.doc'? Т.е. поменять все ошибочные пути в ссылках с "/img/" на "/word/"? И было бы вообще сказочно, если бы вернулся список значений полей `id` для всех записей, которые были затронуты. Это нужно, чтобы потом, сгенерировав список ссылок, вручную проверить результаты. Но все же, думаю, что это проще сделать двумя запросами: первый просто возвращает список строк, второй производит замену. Собственно, задача решена, и дальнейший интересу уже сугубо образовательный... Заранее благодарю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2013, 17:53:22 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38482157&tid=1835628]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 328ms |

| 0 / 0 |
