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) → str

Comme 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 }}"