Remplacement du contenu dans plusieurs sujets avec Regex ?

Salut,

dans une grande partie de mon contenu importé, j’ai un lien de l’ancien domaine dans les sujets que j’ai importés comme ceci :

https://domain.com/threads/xxxx

où xxxx est représenté par un numéro de fil de discussion à 4 chiffres,

Je veux juste supprimer complètement cette chaîne de tous les sujets, quelle serait la meilleure façon d’y parvenir en masse pour plus de 3 000 sujets ?

Salut,

Ceci devrait vous aider :

1 « J'aime »

Salut, merci !

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

ne renvoie aucun résultat, tu vois où je me trompe ?

Essayer :

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

Incroyable ! Cela a fonctionné parfaitement. Je lis le post que vous avez lié et j’essaie de créer une expression régulière pour supprimer le BBCode RVB.

L’outil d’expression régulière indique que mon expression régulière est valide :

Cependant, lorsque je l’exécute, soit il ne met à jour aucun post, soit j’obtiens une erreur indiquant que ce n’est pas une expression régulière valide.

Voici à quoi ressemble le BBCode dans les sujets :

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

J’ai aussi essayé ceci :

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

Ne préféreriez-vous pas que ces liens fonctionnent ? Et peut-être juste changer le nom d’hôte ?

Vous pouvez utiliser mon exemple dans l’autre sujet où cela a été discuté pour savoir comment le faire en rails et utiliser http://rubular.com/ pour ajuster votre regex.

1 « J'aime »