Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com expressoes regulares


THX1138

Pergunta

Oi pessoal.

estou precisando de uma ajudinha da galera que manja expressões regulares (ainda tenho de aprender isso!!).

Preciso de uma expressão que aceite SOMENTE LETRAS (maiúsculas ou minúsculas). NÃO pode aceitar pontos nem barras nem ser de comprimento maior que 40 caracteres.

Toda ajuda é bem-vinda.

Valeu!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

# se a expressão regular está de acordo com padrões POSIX:

/^[:alpha:]{1,40}$/

# se seu locale está setado corretamente para pt_BR(.ISO-8859-1 de preferência rs):

a expressão acima reconhece caracteres açêntuádos (brasil \o/).

# se você não tem "ExpressãoRegular POSIX" nem "locale pt_BR", ao modo C/ANSI:

/^[a-zA-ZáéíóúàâêôãõÁÉÍÓÚÀÂÊÔÃÕªºçÇ]{1,40}$/

- - -

explicando o acima:

# a sequência dentro das /barras/ quer dizer /é expressão regular/;

# os caracteres ^ e $ indicam que a comparação vai do ^inicio ao fim$ da string;

# entre {chaves} indica a repetição aceita dos caracteres indicados dentro dos colchetes;

# dentro dos [colchetes] só use o caractere hífen- para indicar que vai do caractere [indicado-até];

# se quer que o caractere hífen- seja um dos caracteres de comparação, coloca no [final-] ou [-inicio];

# a indicação :especial: indica um conjunto de caracteres definido no padrão POSIX:

pt.wikipedia.org/wiki/Expressão_regular#Classes_de_caracteres

- - -

livros:

expressões regulares (aurélio marinho jargas)

dominando expressoes regulares (jeffrey friedl)

Editado por fel
Link para o comentário
Compartilhar em outros sites

  • 0

teste seu programa para caracteres acentuados:

# chame a função que ordena a string abcdáç: tem de resultar aábcçd (ou áabçcd, não sei)

# chame a função que põe em caixa ALTA a string abcdáç: deve resultar ABCDÁÇ

# chame a função que verifica o tamanho da string abcdáç: deve ser 6

-

se não resultou:

# tenta de novo, após salvar seu arquivo no formato iso-8859-1

(tenho problema com utf-8 até agora, aí fujo ao sempre lá iso-8859-1 rsrs)

# modifica a variável ambiente LC_ALL e checa se atualizou com o utilitário locale

(teste seu programa com cada um: pt_BR.ISO-8859-1, en_US.ISO-8859-1, pt_BR.UTF-8)

# talvez seu programa desconsidere a variável ambiente, pra você chamar setlocale()

(mas os utilitários do sistema, levam em consideração a variável de ambiente)

# se setou locale, chamou a função, salvou como iso-8859-1, e falhou...

(pode ser a implementação: aconteceu comigo, era não-original)

Editado por fel
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...