Regex 从角色开始到最后一次出现的头盔正则表达式匹配

Regex 从角色开始到最后一次出现的头盔正则表达式匹配,regex,kubernetes-helm,sprig-template-functions,Regex,Kubernetes Helm,Sprig Template Functions,从单词的开头到最后出现的-都在努力与Helm匹配 我尝试了{-printf“%s”.Release.Name | regexFind“[^-]*$”-},但它从最后一次出现一直打印到单词的末尾 预期的 输入:hello world here=>输出:hello world 输入:hello world here and there=>输出:hello world here and非常感谢他的提示 经过大量调查,我意识到正则表达式是正确的,但函数的签名令人惊讶: {{- regexReplaceA

从单词的开头到最后出现的
-
都在努力与Helm匹配

我尝试了
{-printf“%s”.Release.Name | regexFind“[^-]*$”-}
,但它从最后一次出现一直打印到单词的末尾

预期的

输入:
hello world here
=>输出:
hello world

输入:
hello world here and there
=>输出:
hello world here and
非常感谢他的提示

经过大量调查,我意识到正则表达式是正确的,但函数的签名令人惊讶:

{{- regexReplaceAll "-[^-]*$" .Release.Name "" -}}
而不是:

 {{- regexReplaceAll "-[^-]*$"  "" .Release.Name -}}

也许是
regexReplaceAll“-[^-]*$”-“
而不是
regexFind
?为什么您希望
-这里的
-在第一个中被删除,但在第二个中什么都不删除?对不起,我不能确定你要用什么规则。@Andreas你是对的。这是打字错误。我更新了question@WiktorStribiżew这是一个很好的暗示。谢谢。顺便说一句,它有用吗?这就是为什么我把
-
放在正则表达式和替换模式之间,我把它作为管道表示法中的一个输入变量。为了更清楚一点,参数的顺序是:模式、输入字符串、替换模式。