Does a dot have to be escaped in a character class (square brackets) of a regular expression?

Dariusz picture Dariusz · Nov 14, 2013 · Viewed 27.1k times · Source

A dot . in a regular expression matches any single character. In order for regex to match a dot, the dot has to be escaped: \.

It has been pointed out to me that inside square brackets [] a dot does not have to be escaped. For example, the expression: [.]{3} would match ... string.

Doesn't it, really? And if so, is it true for all regex standards?

Answer

lilactiger89 picture lilactiger89 · Nov 14, 2013

In a character class (square brackets) any character except ^, -, ] or \ is a literal.

This website is a brilliant reference and has lots of info on the nuances of different regex flavours. http://www.regular-expressions.info/refcharclass.html