Metacharacter


A metacharacter is a character that has a special meaning to a computer program, such as a shell interpreter or a regular expression engine.
In POSIX extended regular expressions, there are 14 metacharacters that must be escaped in order to drop their special meaning and be treated literally inside an expression: opening and closing square brackets ; backslash ; caret ; dollar sign ; period/full stop/dot ; vertical bar/pipe symbol ; question mark ; asterisk ; plus sign ; opening and closing curly brackets/braces ; and opening and closing parentheses.
For example, to match the arithmetic expression "*3=6" with a regex, the correct regex is "\\*3=6"; otherwise, the parentheses, plus sign, and asterisk will have special meanings.

Other examples

Some other characters may have special meaning in some environments.
The term "to escape a metacharacter" means to make the metacharacter ineffective, causing it to have its literal meaning. For example, in PCRE, a dot stands for any single character. The regular expression "A.C" will match "ABC", "A3C", or even "A C". However, if the "." is escaped, it will lose its meaning as a metacharacter and will be interpreted literally as ".", causing the regular expression "A\.C" to only match the string "A.C".
The usual way to escape a character in a regex and elsewhere is by prefixing it with a backslash. Other environments may employ different methods, like MS-DOS/Windows Command Prompt, where a caret is used instead.