De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 20 de Dezembro de 1999
Primeiramente, gostaria de corrigir um erro. A lista de vi fica no site eGroups, e para se cadastrar nela mande um email para <vi-br-subscribe (a) egroups com>. E o mantenedor da lista é o Aurélio Marinho Jargas (<aurelio (a) conectiva com br>).
Adicionalmente, a mensagem de ontem não foi muito clara em alguns pontos e eu estou aproveitando aqui para divulgar a mensagem que me foi enviada por Fernando M. Roxo da Motta (<ss51 (a) ep-ba petrobras com br>), que complementa admiravelmente os conceitos apresentados.
> vi - Substituicoes > --------------------------------------------------------------------- > Suponhamos que eu queira mudar todas as ocorrencias das palavras > "hot", "hit", "h0t" , "hat" por host, mas apenas nas linhas em > que estas palavras ocorram isoladamente: > > :%s/^h.t$/host/ > > Estou procurando, na primeira parte do argumento de busca, > por palavras de tres letras comecadas em "h" e terminadas em > "t". Esta palavra deve estar no comeco da linha "^" e a linha > nao pode conter mais nada "$". O "." apos o "h" indica que > qualquer letra que estiver nesta posicao atendera a especificacao > da busca. Ou seja, todas as palavras procuradas (hot, hit, h0t e > hat) serao substituidas por "host".
Mas também "het", "h:t" e qualquer outra combinação imaginável. Então como restringir apeas às combinações desejadas ? Basta substituir o "." pela seqüência de caracteres aceitáveis :
:%s/^h[oi0a]t$/host/
Repare que o par "[" e "]" marcam a posição de *apenas um* carater, portanto se aparecer uma linha contendo apenas "hoit" o que acontecerá ? Na hora de fazer a comparação :
O "h" vai bater com o "h" do padrão O "o" vai bater com a opção "o" do "[oi0a]" O "i" não vai bater com o "t", que é o próximo caráter a ser verificado
Portanto esta linha *não* vai bater com o padrão.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários