[Ruby] Exclure et remplacer des modèles spécifiques par des expressions régulières

Contexte

--http: // aaa / ccchttp: // 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.

commander

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

[Ruby] Exclure et remplacer des modèles spécifiques par des expressions régulières
Changer de beans avec les expressions canoniques @ConditionalOnExpression et SpEL
Distinguer les entiers et les fractions avec des expressions régulières
À propos des expressions régulières dans Ruby
Gestion du début et de la fin de ligne dans les expressions régulières dans Ruby
Analyser les adresses japonaises avec des expressions régulières
Avec ruby ● × Game et Othello (examen de base)
Facile à parcourir avec les expressions régulières Java
Conversion de JSON en TSV et TSV en JSON avec Ruby
Expressions régulières
[Ruby] Mots clés avec mots clés et valeurs par défaut des arguments
À propos des expressions régulières Ruby (méta-caractères, captures, méthodes associées)
J'ai essayé d'implémenter Ruby avec Ruby (et C) (j'ai joué avec intégré)
Essayez d'intégrer Ruby et Java avec Dapr
Créez un notebook Jupyter avec Docker et exécutez ruby
À propos de l'expression régulière utilisée dans la méthode ruby sub