




 
Matches any single character except a newline. For example, 
c.r
 matches any three character string starting with 
c
 and ending with 
r
.
Matches the previous regexp any number of times (including zero times). For example, 
ca*r
 matches strings beginning with 
c
 and ending with 
r
, with any number of 
a
s in-between.
Matches the previous regexp any number of times, but at least once. For example, 
ca+r
 matches strings beginning with 
c
 and ending with 
r
, with at least one 
a
 in-between.
Matches the previous regexp either 0 or 1 times. For example, 
ca?r
 matches either the string 
cr
 or 
car
, and nothing else.
Matches the next regexp as long as it is at the beginning of a line. For example, 
^foo
 matches the string 
foo
 as long as it is at the beginning of a line.
Matches the previous regexp as long as it is at the end of a line. For example, 
foo$
 matches the string 
foo
 as long as it is at the end of a line.
Contains a character set to be used for matching, where the other special characters mentioned do not apply. The empty string is automatically part of the character set. For example, 
[a.b]
 matches either 
a
 or 
.
 or 
b
 or the empty string. The regexp 
c[ad]*r
 matches strings beginning with 
c
 and ending with 
r
 , with any number of 
a
s and 
d
s in-between.
The characters 
-
 and 
^
 have special meanings inside character sets. 
-
 defines a range and 
^
 defines a complement character set. For example, 
[a-d]
 matches any character in the range 
a
 to 
d
 inclusive, and 
[^ab]
 matches any character except 
a
 or 
b
.
Quotes the special characters. For example, 
\*
 matches the character 
*
 (that is, 
*
 has lost its special meaning).
Specifies an alternative. For example, 
ab\|cd
 matches either 
ab
 or 
cd
.
Provides a grouping construct. For example, 
ab\(cd\|ef\)
 matches either 
abcd
 or 
abef
.