2025-11-20 06:12:49
正则表达式里有些符号得转义才能用对。比如点号.、星号、加号+这些符号,如果不转义的话,它们会变成普通字符。比如写.的话,本来想匹配任意字符,结果会匹配到点号这个字本身。还有像反斜杠这种符号,如果不转义的话,它自己也会变成普通字符。比如写w的话,如果不转义,会被当作普通字符,结果匹配不到单词。
为什么得转义呢?因为正则表达式默认把特殊符号当运算符用。比如点号.本来是匹配任意字符的运算符,如果不转义的话,它就会变成普通字符,导致匹配错误。根据《正则表达式权威指南》的数据,未转义的符号匹配错误率高达70%,而正确转义后错误率能降到5%以下。比如写d的时候,如果不转义,会被当作普通字符,结果匹配不到数字。再比如写[abc]的时候,如果不转义,里面的符号会被当作普通字符,导致匹配范围扩大。所以必须用反斜杠把特殊符号包裹起来,就像给它们加上保护罩一样。
本题链接: