| cue eval -i regexp.cue |
| cmp stdout expect-stdout-cue |
| |
| -- frontmatter.toml -- |
| title = "Regular expressions" |
| description = "" |
| |
| -- text.md -- |
| The `=~` and `!~` operators can be used to check against regular expressions. |
| |
| The expression `a =~ b` is true if `a` matches `b`, while |
| `a !~ b` is true if `a` does _not_ match `b`. |
| |
| Just as with comparison operators, these operators may be used |
| as unary versions to define a set of strings. |
| |
| -- regexp.cue -- |
| a: "foo bar" =~ "foo [a-z]{3}" |
| b: "maze" !~ "^[a-z]{3}$" |
| |
| c: =~"^[a-z]{3}$" // any string with lowercase ASCII of length 3 |
| |
| d: c |
| d: "foo" |
| |
| e: c |
| e: "foo bar" |
| |
| -- expect-stdout-cue -- |
| a: true |
| b: true |
| c: =~"^[a-z]{3}$" |
| d: "foo" |
| e: _|_ // invalid value "foo bar" (does not match =~"^[a-z]{3}$") |