powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / В текстовом поле найти ссылки на картинки и заменить ' ' на '_' в названии
6 сообщений из 6, страница 1 из 1
В текстовом поле найти ссылки на картинки и заменить ' ' на '_' в названии
    #39094389
PL/SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таблице есть текстовое поле с html тегами и ссылками на картинки типа http://[путь]/[имя файла].jpg Нужно заменить пробелы в имени файла на символ подчеркивания. На оракле это легко решается функцией regexp_substr.

В MySQL не нашел модификаторов жадности поиска в regexp и данный запрос:
Код: sql
1.
2.
select description from product
where description regexp('http://image/.*( ){1}.*\\.jpg')


возвращает лишние строки, если в тексте есть две ссылки на картинки и хотя бы один пробел между ними...
Есть варианты как решить задачу?
...
Рейтинг: 0 / 0
В текстовом поле найти ссылки на картинки и заменить ' ' на '_' в названии
    #39094393
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL/SQL, в mysql из коробки нет замены регулярником, только поиск.
В вашем случае либо ставить плагин, который содержит функции regexp_replace, либо производить чистку программным способом, а базу использовать только как хранилище.
Мы в своих проектах уже много лет все чистим и нормализуем программным способом.
...
Рейтинг: 0 / 0
В текстовом поле найти ссылки на картинки и заменить ' ' на '_' в названии
    #39094398
PL/SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть конечно такие варианты:
- выгрузить содержимое таблицы, отредактировать в редакторе с поддержкой регулярок и загрузить обратно
- сделать это на PHP
Но теперь интересно как сдалать это в MySQL.
...
Рейтинг: 0 / 0
В текстовом поле найти ссылки на картинки и заменить ' ' на '_' в названии
    #39094399
PL/SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LumixPL/SQL, в mysql из коробки нет замены регулярником, только поиск.
В вашем случае либо ставить плагин, который содержит функции regexp_replace, либо производить чистку программным способом, а базу использовать только как хранилище.
Мы в своих проектах уже много лет все чистим и нормализуем программным способом.
Про отсутствие regexp_replace я косвенно упомянул, но замену можно провести разбив заменяемую строку на части и применив replace к нужной части. Т.е. хотелось бы найти строки, в которых эта замена необходима с помощью regexp. Больше академического интереса сейчас, практически думаю заменить все в тестовом редакторе.
...
Рейтинг: 0 / 0
В текстовом поле найти ссылки на картинки и заменить ' ' на '_' в названии
    #39094406
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL/SQLхотелось бы найти строки, в которых эта замена необходима с помощью regexp.

ну так бы и ставили задачу с самого начала, а то примешали тут зачем-то разговор о заменах и оракле...

Код: sql
1.
2.
3.
select des 
    from p 
    where des rlike ' [a-zA-Z0-9_]+\\.jpe?g'
...
Рейтинг: 0 / 0
В текстовом поле найти ссылки на картинки и заменить ' ' на '_' в названии
    #39094413
PL/SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix, спасибо!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / В текстовом поле найти ссылки на картинки и заменить ' ' на '_' в названии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]