Sim, existe. No entanto, infelizmente não está documentado.
O Helm usa a biblioteca sprig para fornecer funções adicionais aos modelos. O que não é documentado são muitas das funções do sprig que foram adicionadas ao código (ref issue # 84 ), e as funções de regex são algumas delas. Você pode encontrar essas funções aqui: link
Assim você pode fazer {{ .Chart.AppVersion | regexFind "\d+\.\d+" }}
(observe que também adicionei um \
antes do .
para escapar, pois .
significa corresponder a qualquer caractere, o que não parece ser sua intenção)
Não é seu caso de uso, mas um item de nota para outros que possam estar interessados em usar as funções regex*
do raminho, é que infelizmente o dono do raminho fez do assunto o segundo argumento de todas as funções, e algumas as funções têm argumentos adicionais depois disso (por exemplo, a função regexReplaceAll
). A razão pela qual isso é um problema é que quando uma função é usada em um pipeline, o resultado do elemento anterior no pipeline se torna o último argumento da função. Portanto, isso não funciona: "foo subject string" | regexReplaceAll "foo" "bar"
, pois ele tratará bar
como a sequência a ser usada e foo subject string
como a sequência para substituir as ocorrências de foo
por (que neste exemplo não seria qualquer).