yq icon indicating copy to clipboard operation
yq copied to clipboard

Cannot regex match parentheses after the implementation of string interpolation feature in 4.43.1

Open DMaxter opened this issue 7 months ago • 4 comments

Describe the bug When handling regex matching with yq, if we want to match against a parentheses, it is not possible. We always get this error about unclosed interpolation string

Version of yq: >= 4.43.1 Operating system: Linux Installed via: binary release

Input Yaml data.yml:

- name: abc
- name: d(ef)

Command The command you ran:

 yq '.[] | select(.name | test("d\(ef\)"))' data.yml # Works with version 4.42.1 and previous
 yq --string-interpolation '.[] | select(.name | test("d\(ef\)"))' data.yml # Only possible after 4.43.1 but doesn't work, output is the same

Actual behavior

Error: unclosed interpolation string \(

Expected behavior

name: d(ef)

Additional context I think the string interpolation feature is not working well, regex matching is greatly affected here

DMaxter avatar Jun 25 '24 10:06 DMaxter