首先,妳問題中有壹句話:
“.表示任意字符,這裏用\把它轉義成點這個字符
\本身就是代表轉義,再給它的轉義不就成了\這個符號了嗎?”
可以看出,妳認為"."前面的"\"有對"."進行轉義。事實上並不是這樣的,前壹個\對後壹個\進行了轉義,得到了\本身,之後沒有拿轉義後的\接著去轉義.。
"\\.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,可能與妳的發生問題的環境不同。