O padrão KornShell estende os padrões "glob" do shell POSIX (ou seja *
, ?
, , etc.) com especificadores de repetição como *(...)
, +(...)
, bem como negação entre muitos recursos interessantes.
Em um projeto hobbista, pretendo implementar esses padrões para processamento de strings em vez de várias variantes de regex, como BRE, ERE, JavaScript RegExp. Um grande benefício que percebo é que será menos detalhado em strings C, pois os caracteres de barra invertida podem ser evitados ao escrever os padrões.
Minha compreensão limitada da ciência da computação sugere que os recursos suportados pelos padrões KornShell o qualificam como uma especificação de uma gramática regular.
Pergunta: Isso é tecnicamente correto? (Mesmo que não seja, ainda percebo essa sublinguagem como valiosa e desejável.)