regex_replace
Description
Ce plugin permet d’effectuer un remplacement dans une chaîne à l’aide de l’expression régulière spécifiée.
Configuration
Rien à configurer pour le plugin.
hermes:
plugins:
attributes:
regex_replace:Utilisation
regex_replace(value: str, pattern: str, replacement: str, ignorecase: bool = False, multiline: bool = False, count: int = 0, mandatory_count: int = 0) → strComme ce plugin n’est qu’une adaptation du filtre regex_replace_filter d’Ansible, vous pouvez également consulter sa documentation.
# Sera 'able'
regex_result: "{{ 'ansible' | regex_replace('^a.*i(.*)$', 'a\\1') }}"
# Sera '#CAR\n#tar\nfoo\n#bar\n'
regex_result: "{{ 'CAR\ntar\nfoo\nbar\n' | regex_replace('^(.ar)$', '#\\1', multiline=True, ignorecase=True) }}"
# Il est possible d'appliquer la méthode à une liste de chaines. Prenons LDAP_PASSWORD_HASHES qui contient une liste de hachages de mots de passe LDAP :
# LDAP_PASSWORD_HASHES:
# - "{SMD5}NGnIxNg+ZqB3XwhQK/jCRDWWpUQYVbwg"
# - "{SSHA}9u8ZbEbeLPLI2f4isG7YjJsz6sfonjQAfbbadQ=="
# - "{SSHA256}l0rZ10MhH6jKGogg2qFvCdiNAqkKVH9OuL0R3FgWRrV4mIaYM2cnYQ=="
# - "{SSHA512}zKR46tmGg0NKq1FdkmLGZCqXqfnApvFRHSTW4H0Sem9zJH66mgZ6/aB/aypGX+dLAI02akd9lZbplX6y0Typzzir8RIKh6cw,"
# Supprime le préfixe entre accolades indiquant le type de hachage.
# regex_results:
# - "NGnIxNg+ZqB3XwhQK/jCRDWWpUQYVbwg"
# - "9u8ZbEbeLPLI2f4isG7YjJsz6sfonjQAfbbadQ=="
# - "l0rZ10MhH6jKGogg2qFvCdiNAqkKVH9OuL0R3FgWRrV4mIaYM2cnYQ=="
# - "zKR46tmGg0NKq1FdkmLGZCqXqfnApvFRHSTW4H0Sem9zJH66mgZ6/aB/aypGX+dLAI02akd9lZbplX6y0Typzzir8RIKh6cw,"
regex_results: "{{ LDAP_PASSWORD_HASHES | map('regex_replace', '^{[^}]+}(.*)$', '\\1') | list }}"