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?
lilactiger89
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
来源:https://stackoverflow.com/questions/19976018/does-a-dot-have-to-be-escaped-in-a-character-class-square-brackets-of-a-regula