# jEdit 2.6 User's Guide

Next, Prev

# Appendix E. Regular Expressions

jEdit uses regular expressions to implement inexact search and replace. A regular expression consists of a character string where some characters are given special meaning with regard to pattern matching.

Within a regular expression, the following characters have special meaning:

- Positional Operators

  - ^ matches at the beginning of a line

  - $ matches at the end of a line

- One-Character Operators

  - . matches any single character

  - \d matches any decimal digit

  - \D matches any non-digit

  - \n matches a newline character

  - \r matches a return character

  - \s matches any whitespace character

  - \S matches any non-whitespace character

  - \t matches a horizontal tab character

  - \w matches any word (alphanumeric) character

  - \W matches any non-word (alphanumeric) character

  - \`x` matches the character `x`, if `x` is not one of the above listed escape sequences.

- Character Class Operator

  - [`abc`] matches any character in the set `a`, `b` or `c`

  - [^`abc`] matches any character not in the set `a`, `b` or `c`

  - [`a-z`] matches any character in the range `a` to `z`, inclusive. A leading or trailing dash will be interpreted literally.

  Within a character class expression, the following sequences have special meaning:

  - [:alnum:] Any alphanumeric character

  - [:alpha:] Any alphabetical character

  - [:blank:] A space or horizontal tab

  - [:cntrl:] A control character

  - [:digit:] A decimal digit

  - [:graph:] A non-space, non-control character

  - [:lower:] A lowercase letter

  - [:print:] Same as graph, but also space and tab

  - [:punct:] A punctuation character

  - [:space:] Any whitespace character, including newline and return

  - [:upper:] An uppercase letter

  - [:xdigit:] A valid hexadecimal digit

- Subexpressions and Backreferences

  - (`abc`) matches whatever the expression `abc` would match, and saves it as a subexpression. Also used for grouping.

  - (?:`...`) pure grouping operator, does not save contents

  - (?#`...`) embedded comment, ignored by engine

  - \`n` where 0 < `n` < 10, matches the same thing the `n`th subexpression matched.

- Branching (Alternation) Operator

  - `a`|`b` matches whatever the expression `a` would match, or whatever the expression `b` would match.

- Repeating Operators

  These symbols operate on the previous atomic expression.

  - ? matches the preceding expression or the null string

  - * matches the null string or any number of repetitions of the preceding expression

  - + matches one or more repetitions of the preceding expression

  - {`m`} matches exactly `m` repetitions of the one-character expression

  - {`m`,`n`} matches between `m` and `n` repetitions of the preceding expression, inclusive

  - {`m`,} matches `m` or more repetitions of the preceding expression

- Stingy (Minimal) Matching

  If a repeating operator (above) is immediately followed by a ?, the repeating operator will stop at the smallest number of repetitions that can complete the rest of the match.

Home
Prev: The Edit Server
Next: Glob Patterns