你好,我想请教一下
"." 表示除\n之外的任意单个字符
"*" 表示希望匹配的字符串含有任意数目的字符
所以, 我认为".*" 只能表示[:alnum:]*, 而不能表示所有字符串
也就是说,假设"." 给了我们单独一个字符a,那么组合后面的"*",应该等价于"a*"
我知道这个想法有问题,但是不知道怎么说服自己
你的理解有偏差,不是说"."第一次取值为"a"了,后面"."就都被赋值为"a"了,你可以把".*"理解成这样,".*"="..........",每个点都能接受任何字符。如果你把".*"理解为"a*",那么举个反例,ab能被".*"接受吗?可以的。但是ab能被"a*"接受吗?不可以。换做任何字母的*都不可以接受。所以你的假设是错的。