正则表达式

首先,你问题中有一句话:

“.表示任意字符,这里用\把它转义成点这个字符

\本身就是代表转义,再给它的转义不就成了\这个符号了吗?”

可以看出,你认为"."前面的"\"有对"."进行转义。事实上并不是这样的,前一个\对后一个\进行了转义,得到了\本身,之后没有拿转义后的\接着去转义.。

"\\.class",只是要去匹配一个文本的"\"和一个“任意字符”和文本"class"。具体情况可使用grep进行验证。

me@ubuntu:grep$?cat?jdx.txt?

123zzz\?class

123ZZZ\{classe

123zZz\{classe

456z/?class

me@ubuntu:grep$?grep?-E?'.*[Zz].*\\.class'?jdx.txt?

123zzz\?class

123ZZZ\{classe

123zZz\{classe

当然这里我假设你要匹配的是文本字符,我使用的是grep进行的验证,环境是bash,可能与你的发生问题的环境不同。