Regex para verificar se uma string contém apenas letras (lower / caps), números e alguns caracteres especiais

0

Uma string que eu obtenho usando o usuário read form pode conter:

  • letras
  • números
  • _

Para outra string, as regras são as mesmas que acima e mais:

  • começa apenas com letras

Estou começando com isso:

if [[ $A = [a-z]* ]]

mas verifica se a string começa com letras minúsculas,

    
por user3541631 13.09.2018 / 16:43

1 resposta

1

Para o primeiro caso, isso deve funcionar:

if [[ $A = \w+ ]]

\w faz um caractere de "palavra", que inclui o sublinhado. Ele pode reconhecer algumas strings unicode que podem ser inválidas, então [A-Za-z0-9\_] pode funcionar melhor que \w para você.

Para a segunda tentativa:

if [[ $A = ^[A-Za-z]\w+ ]]
    
por 13.09.2018 / 16:55