是否必须在正则表达式的字符类(方括号)中转义点?

Dar*_*usz 76 regex standards standards-compliance square-bracket

.正则表达式中的点匹配任何单个字符.为了使正则表达式匹配点,必须转义点:\.

有人向我指出,在方括号内,[]一个点不必被转义.例如,表达式: [.]{3}将匹配...字符串.

不是吗,真的吗?如果是这样,所有正则表达式标准都是如此吗?

lil*_*r89 105

在字符类(方括号)除外的任何字符^,-,]\是文字.

这个网站是一个很好的参考,有很多关于不同正则表达口味的细微差别的信息. http://www.regular-expressions.info/refcharclass.html

  • 如果它是最后一个值,`-`也是字面值 (32认同)
  • 如果它不是第一个字符,则^是字面值 (10认同)
  • 这实际上取决于语言如何处理它,但对于大多数语言来说,这是真的. (3认同)
  • @kimbo是的,如果“-”是字符类中的第一个或最后一个字符,则不需要转义。 (3认同)