Замена содержимого в нескольких темах с помощью Regex?

Привет,

во многих из моих импортированных материалов в темах есть ссылка на старый домен, вот такая:

https://domain.com/threads/xxxx

где xxxx — это номер темы из четырёх цифр.

Я хочу полностью удалить эту строку из всех тем. Какой будет лучший способ сделать это массово для более чем 3000 тем?

Привет,

Это должно помочь:

Спасибо!

rake posts:delete_word['^http:\/\/domain.com\/threads\/.*.\/$','regex']

Выводит 0 результатов. Подскажите, где я ошибаюсь?

Попробуйте:

rake posts:delete_word['https?://domain\.com/threads/\\d{4}','regex']

Потрясающе! Сработало идеально. Я читаю пост, на который вы дали ссылку, и пытаюсь составить регулярное выражение для удаления BB-кода RGB.

Конструктор регулярных выражений утверждает, что моё выражение корректно:

Однако при запуске оно либо не обновляет ни одного поста, либо выдаёт ошибку о том, что выражение не является корректным регулярным выражением.

Вот как выглядит BB-код в темах:

[COLOR=rgb(95, 66, 222)]

Также пробовал это:

rake posts:delete_word[‘[\WCOLOR=rgb(\d{1,3}), (\d{1,3}), (\d{1,3})(, ){0,1}(0(\.\d+)?|1(\.0+)?)]’,‘regex’]

Разве вы не предпочли бы, чтобы эти ссылки работали? И, возможно, просто изменить имя хоста?

Вы можете использовать мой пример в другой теме, где это обсуждалось, чтобы узнать, как это сделать в Rails, и воспользоваться сайтом http://rubular.com/, чтобы настроить ваше регулярное выражение.