jEdit uses regular expressions to implement inexact search and replace. A regular expression consists of a string where some characters are given special meaning with regard to pattern matching.
Within a regular expression, the following characters have special meaning:
^ matches at the beginning of a line
$ matches at the end of a line
\b matches at a word break
\B matches at a non-word break
\< matches at the start of a word
\> matches at the end of a word
. matches any single character
\d matches any decimal digit
\D matches any non-digit
\n matches the newline 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
\\ matches the backslash
(“\”) character
[ matches
any character in
the set abc]a, b or
c
[^ matches
any character not
in the set abc]a, b or
c
[ matches
any character in the
range a-z]a to z, inclusive.
A leading or trailing dash will be interpreted literally
[[:alnum:]] matches any alphanumeric
character
[[:alpha:]] matches any alphabetical character
[[:blank:]] matches a space or horizontal tab
[[:cntrl:]] matches a control character
[[:digit:]] matches a decimal digit
[[:graph:]] matches a non-space, non-control character
[[:lower:]] matches a lowercase letter
[[:print:]] same as [[:graph:]], but also space and tab
[[:punct:]] matches a punctuation character
[[:space:]] matches any whitespace character, including newlines
[[:upper:]] matches an uppercase letter
[[:xdigit:]] matches a valid hexadecimal digit
( matches
whatever the expression
abc)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...)
(?= positive
lookahead; the regular expression will match if the text in the brackets
matches, but that text will not be considered part of the match...)
(?! negative
lookahead; the regular expression will match if the text in the brackets
does not
match, and that text will not be considered part of the match...)
\ where 0 <
nn < 10,
matches the same thing the nth
subexpression matched. Can only be used in the search string
$ where 0 <
nn < 10,
substituted with the text matched by the nth
subexpression. Can only be used in the replacement string
matches whatever the expression a|ba would match, or whatever
the expression b would match.
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
{ matches exactly
m}m
repetitions of the one-character expression
{
matches between
m,n}m and n repetitions of the preceding
expression, inclusive
{ matches
m,}m or more
repetitions of the preceding expression
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.