我来是想问各位谁知道原理

要查找第二个字母为r的所有文件,正确的是c

A、r.
B、?r?.*
C、?r*.*
D、r.*

这是正则表达式

这是通配符,不是正则表达式。
?代表任意一个字符,*代表0个或多个任意字符。

我估计你在搜正则表达式中"?"的用法, 搞糊涂了.
在Shell中"?"表达的是单个字符, "?r"即表示r前面有一个字符. 这根正则表达式中?表示前面有一个或者零个字符会搞混.

比如下面连接中的例子, 我不知道你能不能看
http://mywiki.wooledge.org/glob

其中有一个例子: foo?可以代表foot或者foo$, 但是不能代表fools

望采纳