从ansible变量中过滤与模式匹配的子字符串,并将匹配的子字符串分配给另一个变量

潘贾尔·米塔尔(Pranjal Mittal)

假设我们有一个很长的ansible字符串变量mystr我们有一个正则表达式模式substr_pattern,匹配该模式的子字符串将从mystr另一个变量中过滤掉并分配给另一个变量substr尽管使用python本身中的模块执行此操作很简单,但playbook_filters上的文档中似乎似乎没有明显的方法来执行此操作re

Ansible文档中提供了3种方法,它们似乎都无法解决我的问题:

  1. match:此过滤器取决于整个模式是否匹配整个字符串,但不返回匹配的组/子字符串,则返回true / false。

  2. search:用于过滤较大字符串中的substr。但是像一样match,仅返回true / false,而不返回此处所需的匹配的组/子字符串。

  3. regex_replace:用于将一个字符串中的匹配模式替换为另一个字符串。但是尚不清楚如何将与匹配模式相对应的子字符串/组注册到新变量中。

有什么我想念的吗?还是这是不可缺少的功能?

Ansible版本:2.1

例子:

mystr: "This is the long string. With a url. http://example.org/12345"
pattern: "http:\/\/example.org\/(\d+)"
substr: 12345   # First matched group i.e. \\1

摘要:如何获取与patternfrom匹配的子字符串mystr并将其注册到ansible变量substr

乌冬丹

如果可以修改模式,则可以使用regex_replace过滤器,并只用匹配的数字替换整个字符串。

mystr | regex_replace('^.*http:\/\/example.org\/(\d+).*?$', '\\1')

要将结果分配给新变量,可以使用set_fact模块。

- set_fact:
    substr: "{{ mystr | regex_replace('^.*http:\/\/example.org\/(\d+).*?$', '\\1') }}"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Perl中的字符串中提取匹配的正则表达式模式并将其分配给变量

来自分类Dev

如何将字符串和变量的组合分配给另一个变量?

来自分类Dev

如何从文本中删除子字符串并将嵌套子字符串分配给变量?

来自分类Dev

匹配另一个字符串中的子字符串

来自分类Dev

获取分配给变量的子字符串

来自分类Dev

如何将*附加到字符串并将预准备的SQL查询分配给另一个变量?即,(从*中选择*。)

来自分类Dev

拆分字符串并将第一个值分配给Powershell中的变量

来自分类Dev

android将两个字符串变量之一分配给另一个类中的一个字符串

来自分类Dev

如果子字符串与另一个向量完全匹配,则提取该子字符串

来自分类Dev

子字符串可以重新排列以匹配另一个字符串

来自分类Dev

创建具有另一个部分匹配的新字符串变量

来自分类Dev

我有一个字符串变量和另一个分配给相同变量的字符串。那怎么弄旧弦呢?

来自分类Dev

如何在字符串中获取子字符串并将其存储在另一个字符串中

来自分类Dev

在Kotlin中,如何从字符串中获取一个类并将其分配给具有超类类型的变量?

来自分类Dev

如何将一个字符串附加到单词列表中的每个单词并将新单词列表分配给变量?

来自分类Dev

打印一个子列表,该子列表包含另一个列表中的所有字符串,而不必直接匹配

来自分类Dev

如何编写具有子字符串匹配项并排除另一个子字符串的正则表达式

来自分类Dev

在C#中的另一个字符串中将字符串的每个部分的第一个匹配项子字符串化

来自分类Dev

Scala 宏:分配给变量的字符串文字不匹配

来自分类Dev

将字符串分配给R中的变量

来自分类Dev

将字符串分配给python中的变量

来自分类Dev

根据另一个向量的字符串匹配过滤data.table

来自分类Dev

解析字符串中的两个整数并将它们分配给两个bash变量?

来自分类Dev

检查字符串是否与模式后面的另一个单词匹配

来自分类Dev

swift:如何将一个字符串从textField分配给另一个字符串?

来自分类Dev

返回字符串数组并将其分配给C中的变量

来自分类Dev

Ansible - 将字符串与现有变量组合以注册到另一个变量中

来自分类Dev

如何替换包含另一个子字符串的行中的子字符串

来自分类Dev

如何将字符串的最后一个字符分配给变量?

Related 相关文章

  1. 1

    从Perl中的字符串中提取匹配的正则表达式模式并将其分配给变量

  2. 2

    如何将字符串和变量的组合分配给另一个变量?

  3. 3

    如何从文本中删除子字符串并将嵌套子字符串分配给变量?

  4. 4

    匹配另一个字符串中的子字符串

  5. 5

    获取分配给变量的子字符串

  6. 6

    如何将*附加到字符串并将预准备的SQL查询分配给另一个变量?即,(从*中选择*。)

  7. 7

    拆分字符串并将第一个值分配给Powershell中的变量

  8. 8

    android将两个字符串变量之一分配给另一个类中的一个字符串

  9. 9

    如果子字符串与另一个向量完全匹配,则提取该子字符串

  10. 10

    子字符串可以重新排列以匹配另一个字符串

  11. 11

    创建具有另一个部分匹配的新字符串变量

  12. 12

    我有一个字符串变量和另一个分配给相同变量的字符串。那怎么弄旧弦呢?

  13. 13

    如何在字符串中获取子字符串并将其存储在另一个字符串中

  14. 14

    在Kotlin中,如何从字符串中获取一个类并将其分配给具有超类类型的变量?

  15. 15

    如何将一个字符串附加到单词列表中的每个单词并将新单词列表分配给变量?

  16. 16

    打印一个子列表,该子列表包含另一个列表中的所有字符串,而不必直接匹配

  17. 17

    如何编写具有子字符串匹配项并排除另一个子字符串的正则表达式

  18. 18

    在C#中的另一个字符串中将字符串的每个部分的第一个匹配项子字符串化

  19. 19

    Scala 宏:分配给变量的字符串文字不匹配

  20. 20

    将字符串分配给R中的变量

  21. 21

    将字符串分配给python中的变量

  22. 22

    根据另一个向量的字符串匹配过滤data.table

  23. 23

    解析字符串中的两个整数并将它们分配给两个bash变量?

  24. 24

    检查字符串是否与模式后面的另一个单词匹配

  25. 25

    swift:如何将一个字符串从textField分配给另一个字符串?

  26. 26

    返回字符串数组并将其分配给C中的变量

  27. 27

    Ansible - 将字符串与现有变量组合以注册到另一个变量中

  28. 28

    如何替换包含另一个子字符串的行中的子字符串

  29. 29

    如何将字符串的最后一个字符分配给变量?

热门标签

归档