Precisa da expressão MySql R para excluir certas cordas que terminam em personagens específicos
Pergunta
Então, eu tenho trabalhado com o RLIE para obter alguns dados em um novo aplicativo e me divertindo principalmente.
Até o momento, usei consultas R -Like para retornar 3 tipos de resultados (arquivos, diretórios e tudo).
As consultas (e resultados de exemplo) seguem:
**All**:
SELECT * FROM public WHERE obj_owner_id='test' AND obj_namespace
RLIKE '^user/test/public/[-0-9a-z_./]+$' ORDER BY obj_namespace
user/test/public/a-test/.comment
user/test/public/a-test/.delete
user/test/public/directory/
user/test/public/directory/image.jpg
user/test/public/index
user/test/public/site-rip
user/test/public/site-rip2
user/test/public/test-a
user/test/public/widget-test
**Files**:
SELECT * FROM public WHERE obj_owner_id='test' AND obj_namespace
RLIKE '^user/test/public/[-0-9a-z_./]+[-0-9a-z_.]+$' ORDER BY obj_namespace
user/test/public/a-test/.comment
user/test/public/a-test/.delete
user/test/public/directory/image.jpg
user/test/public/index
user/test/public/site-rip
user/test/public/site-rip2
user/test/public/test-a
user/test/public/widget-test
**Directories**:
SELECT * FROM public WHERE obj_owner_id='test' AND obj_namespace
RLIKE '^user/test/public/[-0-9a-z_./]+/$' ORDER BY obj_namespace
user/test/public/directory/
Isso funciona bem para os três cenários básicos acima, mas, em certas situações, incluirei 'sufixos' especiais, gostaria de ser excluído dos resultados das consultas (sem ter que recorrer a funções PHP para fazê -lo).
Um bom exemplo dessa string seria:
user/test/public/a-test/.delete
Esses dados (existem mais linhas do que apenas obj_namespace) são considerados excluídos e no arquivos e Tudo Digite consultas, gostaria que fosse omitido dentro da expressão, se possível.
O mesmo vale para os /.commentos e todos esses meta -dados sempre estarão no mesmo formato:
/.[sometext]
Eu esperava usar esse recurso extensivamente em todo o meu aplicativo, então espero que haja uma resposta muito simples. (cruza os dedos)
De qualquer forma, obrigado como sempre por todas as respostas e feedback.
Solução
Parece que você poderia simplesmente adicionar outra condição a cada consulta:
... AND obj_namespace NOT RLIKE '/[.][a-z]+$' ...