Expressão regular para localizar e substituir no Microsoft Word

3

Desejo remover as tags iniciais e finais dos nomes de países.
No meu exemplo, essas tags são <li> e <a> .

<li><a href="http://afghanistan.makaan.com/">Afghanistan</a></li>
<li><a href="http://albanie.makaan.com/">Albanie</a></li>
<li><a href="http://algérie.makaan.com/">Algérie</a></li>

O resultado deve ser:

Afghanistan
Albanie
Algérie

No Microsoft Word, quero usar o recurso Localizar e substituir para realizá-lo com expressão regular.

Como posso usar expressões regulares no MS Word?

    
por user2791156 30.11.2013 / 07:30

4 respostas

3

Em vez de copiar seu texto de entrada para o Word, copie-o para o Notepad ++ ou qualquer outro editor com suporte completo ao RegEx.

Uma string RegEx para selecionar tudo o que estiver fora das tags ou tudo entre os sinais > e < .

(?<=>).*?(?=<)

  • (?<=>)éum olhar para trás . Ele procura por > sinais e age como uma âncora. Dessa forma, você pode excluir a string de pesquisa, o que é importante, pois você não deseja <Afghanistan
  • .*? é um quantificador lento e seleciona tudo até a próxima expressão
  • (?=<) é um olha para frente e procura um sinal < , mas exclui o próprio sinal pesquisado. Assim como o olhar por trás

Mas você não deseja selecionar os nomes dos países. Você deseja remover todas as tags. Você precisa do oposto da primeira expressão regular. Algo como

<.*?>

  1. Abra o Notepad ++ search & substituir diálogo
  2. Selecione Usar expressões regulares
  3. Encontre o que: <.*?>
  4. Substituir por: nada
por 02.12.2013 / 23:04
1

Isto é fácil de fazer em Localizar e Substituir do MS Word , sem Regex, sem JavaScript, etc.

Se você escapar de um colchete, ele encontrará o caractere de colchete real. Assim, com os caracteres curinga ativados, a expressão \<*\> encontrará tudo entre colchetes angulares. Apenas substitua isso por nada.

    
por 09.06.2017 / 18:58
0

This parece que é o que você precisa.

Dado o último comentário (que você quer apenas no javsacript) - Eu procuraria em algum lugar como aqui

se você quiser isso em um banco de dados SQL, provavelmente eu apenas escreverei algumas linhas de perl para fornecer a lista do javascript bruto. Tanto quanto eu posso dizer; A palavra MS não entra nisso.

    
por 30.11.2013 / 10:21
0

Eu não usaria encontrar / substituir por isso. Seria mais simples usar "Text to Columns" no Excel para essa tarefa. Para fazer isso, selecione a coluna que contém o texto, vá para a faixa de opções "Dados" e selecione "Texto para Colunas". Você precisará fazer isso duas vezes, uma para remover todo o texto antes do nome do país (o símbolo delimitado seria ">" - certifique-se de excluir as colunas estranhas para evitar confusão) e uma vez para remover o texto após o nome ( símbolo delimitado seria "<").

    
por 02.12.2013 / 19:46