gpt4 book ai didi

regex - Ansible,字符串第一个字符的正则表达式

转载 作者:行者123 更新时间:2023-12-05 04:28:36 27 4
gpt4 key购买 nike

我目前有一个似乎不起作用的 Ansible 正则表达式,尽管这里有一个正则表达式:https://regex101.com/r/g36zkI/1

本质上,问题如下:last_name 可以是双列的,我想提取其中包含的每个单词的首字母。正则表达式似乎是最好的前进方式。只是无法让 Jinja 做它的事情。

上面好像提取了单词边界的第一个字符:

Input:
first_name: Pepper
last_name: Von Pig

Jinja:
backup_username: "{{ first_name }}{{ last_name | regex_search('([a-zA-Z]|\d+)') }}"

期望的输出:PepperVP

此处说明的问题/ Playground :

https://jinjafx.io/dt/pvQ7oWx3Q

我在这里错过了什么?

最佳答案

你可以使用

backup_username: "{{ first_name }}{{ last_name | regex_findall('\\b[A-Z]') | join }}

regex_findall('\\b[A-Z]') 可以替换为 regex_findall('\\b[A-Za-z]')regex_findall('\\b\\w')(取决于实际需求)。

详细信息:

  • regex_findall('\\b[A-Z]') - 提取字符串开头或以非单词字符开头的所有大写字母
  • join - 使用空字符串连接上一步中的项目(=连接项目)。

关于regex - Ansible,字符串第一个字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72574132/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com