Qual é a maneira mais fácil de fazer a pesquisa / substituição de regexp no estilo PCRE para o MS Word?

1

Você pode fazer isso cortando + colar em outro editor de RTF que os suporte, mas isso faz todos os tipos de coisas horríveis se você quiser reimportar o texto, como alterar alterações rastreadas. Existe algo como um plug-in que faz isso ou algum recurso que está faltando?

Postscript A funcionalidade PCRE da qual mais sinto falta, da maioria perdida até a raramente perdida, é:

  1. Corresponder a espaços em branco verticais - O Word tem alguma facilidade aqui, mas é limitado;
  2. Expressões de largura zero;
  3. Teste para propriedades Unicode;
  4. Backreferences; e
  5. Correspondências não gananciosas.
por Charles Stewart 19.01.2010 / 11:39

3 respostas

2

Os curingas no Microsoft Word são um pouco como Expressões Regulares. Este artigo tem mais detalhes.

As expressões regulares padrão são comparadas às expressões regulares do Word da seguinte forma:

  • . se torna ?
  • .* se torna *
  • * torna-se @ - por ex. lo@t corresponde a lote e saque
  • [] funciona da mesma maneira em
  • () funciona da mesma maneira em
  • \ escapa caracteres curinga em ambos
  • \b torna-se < e > para corresponder limites de palavras
por 19.01.2010 / 12:32
1

Você provavelmente poderia escrever uma macro VBA. O Internet Explorer 5.5 é fornecido com um mecanismo regex razoavelmente decente para uso com o VBscript. Esse mesmo mecanismo também pode ser usado em macros VBA em qualquer computador que tenha o MS Office e o IE 5.5+ instalados - o que deve ser praticamente qualquer máquina Windows agora.

Para usar os objetos regex em macros VBA, você precisa adicionar uma referência ao mecanismo regex do VBScript no editor do VBA. Carregue o editor de macro VBA e selecione Ferramentas- > Referências no menu. Encontre "Microsoft VBScript Regular Expressions 5.5" na lista de referências disponíveis e marque-a.

Em seguida, você pode escrever macros que processam o texto diretamente no Word (como qualquer outra macro do Word), usando o objeto RegExp da biblioteca VBScript_RegEx_55 para fazer a correspondência e as substituições baseadas em regex. Não é tão fácil quanto usar uma caixa de diálogo diretamente, mas não é muito difícil. Se você souber o suficiente sobre programação para realmente usar expressões regulares, tenho certeza de que conseguirá lidar com a codificação VBA.

link tem algumas informações sobre como realmente usar os objetos RegEx fornecidos nessa biblioteca.

    
por 26.03.2012 / 10:55
1

Este site lista todos os curingas, meta-caracteres e advertências do Find & Substituir no Word.

Uma diferença importante entre o Word e o PCRE é que o carat ^ tem um significado muito diferente. Os quilates são usados para criar metacaracteres, como ^p para o parágrafo.

    
por 23.04.2013 / 19:35