---
name: "regexp"
section: "6"
platform: "linux"
package: "sam"
version: "4.3-1"
release: "Debian 1.3 (Bo)"
platforms: ["linux"]
url: "https://new.carta.tech/regexp"
---

# regexp(6)

regular expression notation

## NAME

regexp - regular expression notation

## DESCRIPTION

A  *regular expression* specifies a set of strings of characters. A member of this set of strings is said to be *matched* by the regular expression.  In many applications a delimiter character, commonly bounds a regular expression. In the following specification for regular expressions the word \`character' means any character (rune) but newline.

The syntax for a regular expression **e0** is

-

  ```
  e3:  literal | charclass | '.' | '^' | '$' | '(' e0 ')'
  e2:  e3
    |  e2 REP
  REP: '*' | '+' | '?'
  e1:  e2
    |  e1 e2
  e0:  e1
    |  e0 '|' e1
  ```

A **literal** is any non-metacharacter or a metacharacter (one of **.\*+?\[\]()\|\\^$**) or the delimiter preceded by

A **charclass** is a nonempty string *s* bracketed **\[***s***\]** (or **\[^***s***\]);** it matches any character in (or not in) *s.* A negated character class never matches newline. A substring  *a***-***b***,** with *a* and *b* in ascending order, stands for the inclusive range of characters between *a* and *b*. In  *s,* the metacharacters an initial and the regular expression delimiter must be preceded by a other metacharacters  have no special meaning and may appear unescaped.

A  matches any character.

A matches the beginning of a line; matches the end of the line.

The  **REP** operators match zero or more (**\***), one or more (**+**), zero or one (**?**), instances respectively of the preceding regular expression  **e2**.

A concatenated regular expression, **e1e2**, matches a match to  **e1** followed by a match to **e2**.

An alternative regular expression, **e0\|e1**, matches either a match to **e0** or a match to **e1**.

A match to any part of a regular expression extends as far as possible without preventing a match to the remainder of the regular expression.

## SEE ALSO

[*awk*(1)](/awk/1.md), [*ed*(1)](/ed/1.md), [*sam*(1)](/sam/1.md), [*sed*(1)](/sed/1.md), *regexp*(2)
