blob: ffbf8923dae1e60afb1f3d037312ece40b692f89 [file] [log] [blame]
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}$")