似乎Jinja2(在Saltstack中受支持)不支持正则表达式匹配,除非我遗漏了什么?许多利用Jinja2的框架,例如Ansible have custom support作为正则表达式过滤器。 Elsewhere人们直接编写自定义过滤器。

对于那些知道的人来说,一些问题可能会帮助理解这种情况:

  • 在Saltstack中利用正则表达式匹配的最佳方法是什么? (我的用例在这里相当简单:测试字符串是否以子字符串结尾,但问题更笼统)。
  • 如果Jinja2中没有标准解决方案,将它作为Saltstack中的标准扩展提供(与Ansible解决方案类似)是否是一个好主意?
  • Jinja2中不提供标准正则表达式支持的理由是什么?在even Windows Powershell支持正则表达式匹配的世界中,自this perceived regression from Jinja2 compared to the previous version has been complained about since 2010以来,一定有一个我失踪的原因;但是在Jinja's github中甚至没有找到我可以找到的问题?
  • 最佳答案

    这是一篇很古老的文章,但我碰到了它,并帮助其他同样的人。

    自2017.7.0起,SaltStack现在确实具有regex_search和regex_match:

    https://docs.saltstack.com/en/latest/topics/jinja/index.html#regex-search

    关于Jinja2过滤器中的正则表达式匹配(用于saltstack),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38564798/

    10-11 04:51