Skip to content

Escaping '{' in string parse pattern with char lbrace does not work #17814

@orr721

Description

@orr721

Bug report form

  • I have done a basic search of the issue tracker to find any existing issues that are similar.
  • I have checked that my version is at least the latest stable release available via my installation method.

Describe the bug

Hi, when parsing strings with parse, escaping the '{' character with (char lbrace) does not work. Escaping with (char rbrace), (char pipe), etc. does indeed work.

How to reproduce

> "1234|56" | parse $'{a}(char pipe){b}'
╭───┬──────┬────╮
│ # │  a   │ b  │
├───┼──────┼────┤
│ 0 │ 1234 │ 56 │
╰───┴──────┴────╯
> "1234}56" | parse $'{a}(char rbrace){b}'
╭───┬──────┬────╮
│ # │  a   │ b  │
├───┼──────┼────┤
│ 0 │ 1234 │ 56 │
╰───┴──────┴────╯
> "1234{56" | parse $'{a}(char lbrace){b}'
╭────────────╮
│ empty list │
╰────────────╯
>

Expected behavior

Escaping '{' should work like other characters.

Configuration

key value
version 0.111.0
major 0
minor 111
patch 0
branch
commit_hash
build_os macos-aarch64
build_target aarch64-apple-darwin
rust_version rustc 1.93.1 (01f6ddf75 2026-02-11) (built from a source tarball)
cargo_version cargo 1.93.0
build_time 2026-03-02 07:47:14 +00:00
build_rust_channel release
allocator standard
features default, mcp, network, plugin, rustls-tls, sqlite, trash-support
installed_plugins custom_values 0.1.0, example 0.111.0, formats 0.111.0, gstat 0.111.0, inc 0.111.0, polars 0.111.0, query 0.111.0, stress_internals 0.111.0
experimental_options example=false, reorder-cell-paths=true, pipefail=true, enforce-runtime-annotations=false, native-clip=false

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:needs-triageAn issue that hasn't had any proper look

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions