根据以上基础知识,分析四个选项匹配的结果: A. 'hard+.s'能够匹配harddis,其中表达式的+号代表前一个d的重复,“.”可以代表d和s之间的“i” B. '^H|hard+.s'是比A选项多了一个可选,也就是匹配行首以大写的h开头的字符串,但因为可选项的另一部分跟A选项完全相同,所以也能匹配A选项的匹配结果。 其实看到这里就不用往下看了,因为两个正确答案就是AB。 C的表达式是'^H|hard+.s$',那个$代表字符串的尾部,也就是说s后面应该没有字符了,显然跟harddisk这个单词不相符。 D的表达式是'[^H|hard+.s]',中括号中的表达式只能匹配其中一个字符,也就是匹配“H”“h”“a”“r”“d”等的任意一个字符,但是请注意中括号的开始使用了“^”符号,意思是反选,中括号内能匹配的字符反而是不想要的,对于“harddisk”这个字符串,只有“i”和“k”是符合匹配条件的,显然D选项更不靠谱。