Extrait de le dernier caractère de la chaîne avec ansible et regex_replace filtre
Dans un playbook, j'essaie d'extraire le dernier caractère de la variable "ansible_hostname".
J'essaie d'utiliser regex_replace filtre pour le faire, mais rien ne fonctionne.
J'ai simplifié mon morceau de script avec cet ad-hoc de commande :
ansible localhost -m debug-un "msg= {{ 'devserver01' |
regex_replace('[0-9]{1}$', '\1') }}"
Je veux extraire le dernier caractère : '1'.
Je suis en utilisant Ansible 2.0.
- Vous voulez extraire
1
dedevserver01
? - On dirait que vous êtes correctement correspondant au dernier caractère
(\d)$
mais ensuite vous remplacez1
avec lui-même, donc aucun effet??? - Ouais, je sais, je suis loin d'être une regex guru 🙂
- Si votre objectif est SIMPLEMENT d'obtenir le dernier caractère, vous pourriez faire
^.*(\d)$
et de garder la\1
.
InformationsquelleAutor Antoine | 2016-06-10
Vous devez vous connecter pour publier un commentaire.
Python peut sauver la journée, et est acceptable dans cette utilisation.
Il suffit d'ajouter un [-1] à la fin de la chaîne de caractères ou variable, qui obtient le dernier caractère dans une chaîne.
La suite va travailler pour vous.
Explication: