--http: // aaa / ccc
→ http: // aaa / bbb / ccc
--Cependant, vous pouvez laisser le http: // aaa / bbb / ccc
tel quel.
Je voulais une commande qui puisse être utilisée dans une telle situation. En d'autres termes, c'est une exclusion qu'il y ait un modèle qui remplace mais exclut tout au lieu de le remplacer.
Utiliser une anticipation négative pour les expressions régulières
Par exemple, si vous ne remplacez pas uniquement l'ancien système de jeu,
"play plays played".gsub(/play(?!ed)/, "eat")
#=> "eat eats played"
Cela devient la commande. Concernant l'url ci-dessus,
"http://aaa/ccc".gsub(/http:\/\/aaa\/(?!bbb\/)/, "http://aaa/bbb/")
#=>"http://aaa/bbb/ccc"
"http://aaa/bbb/ccc".gsub(/http:\/\/aaa\/(?!bbb\/)/, "http://aaa/bbb/")
# => "http://aaa/bbb/ccc"
Recommended Posts