Como disse lk, a opção -name
de find
tratará o argumento como glob, não uma expressão regular.
Se uma string é interpretada como glob ou regex ou apenas uma string simples depende do que está sendo usado para interpretar. É uma questão de contexto. A string em seu exemplo, [Rr]eading[Tt]est[Dd]ata
pode ser avaliada de várias maneiras diferentes, mas o que é depende de como você a está usando. Use-o como um glob, é um glob. Use-o como um regex, é um regex. No caso da pergunta em que isso se originou , o OP descreveu a string como uma expressão regular. Portanto, podemos supor que ele estava planejando interpretá-lo como um regex.
Um único caractere também pode ser um regex, absolutamente. Também pode ser uma string, e também pode ser um glob. Poderia ser interpretado como um byte ou um tinyint, se você quiser. Tudo depende do contexto.
Existem várias especificações para expressões regulares em vários formulários. BRE e ERE estão bem documentados. O PCRE adiciona vários recursos de funcionalidade. Muitos intérpretes regex implementarão, por exemplo, "todos os ERE e alguns do PCRE". Ou eles farão ERE menos algum recurso. Se você seguir as especificações formais, muitas ferramentas afirmam que o suporte a regex está incorreto ou incompleto. Conhecer os detalhes permite adaptar suas soluções à coleção de funcionalidades disponíveis em qualquer ferramenta que esteja avaliando sua regex.
Então ... se você está procurando definições que "excluam" globs, você está olhando para isso do ponto de vista errado. O que é é determinado por como você o usa .