Encontre e substitua usando expressões regulares no Microsoft Word

Encontre e substitua usando expressões regulares no Microsoft Word

Eu li os artigos sobreexpressões regularesjá. Meu desejo é manipular strings citadas no Word (tenho a versão 2013).

Preciso substituir os caracteres de aspas por parênteses.

Por exemplo:

"Olá Mundo."

deverá ser substituído por

(Olá Mundo.)

Tentei procurar "*"e substituir por \(*\).

Mas não tive sucesso tentando isso.

Responder1

OAjuda do Microsoft Word 2007 para “Localizar e Substituir”diz: “Quando oUse curingascaixa de seleção estiver marcada, o Word localizará apenas o texto exato que você especificar.” Esta afirmação um tanto enigmática significa

  • a pesquisa por texto alfabético diferencia maiúsculas de minúsculas (embora você possa conseguir insensibilidade a maiúsculas e minúsculas com uma expressão de pesquisa como [Hh][Ee][Ll][Ll][Oo]),
  • aspas retas ( ") e aspas curvas ( e ) não são equivalentes – procurar por uma não encontrará nenhuma das outras,

… e provavelmente outras coisas.

Portanto, se o seu documento usar aspas retas, pesquise "([!"]@)". (Expressões de pesquisa curinga do Microsoft Word – que sãonãoexpressões regulares – use para significar qualquer caractere[!qx-z]outrodo que q, x, y, ou z, porque ^é usado para outras coisas (comparável ao papel de \em regexs verdadeiras), e eles usam @para significar uma ou mais ocorrências do caractere ou expressão anterior, porque *significa qualquer string, e acho que eles pensaram em atribuir um significado especial para + seria muito confuso para usuários não acostumados com expressões regulares verdadeiras.) Assim como nas expressões regulares estendidas, os parênteses são usados ​​para agrupar subexpressões. Se o seu documento usar aspas curvas, pesquise “([!“”]@)”. Ou, se você tiver ambos, pesquise [“"]([!“"”]@)["”]. Em ambos os casos, substitua por (\1). O \1refere-se ao conteúdo do primeiro (e único) grupo delimitado por parênteses na expressão de pesquisa, que é o texto entre aspas. Um tanto confuso, os parênteses aqui são apenas caracteres literais; então isso fornece o resultado da substituição de aspas por parênteses.

Observe que, uma vez que @significaumou mais ocorrências do caractere ou expressão anterior (ou seja, age como +em expressões regulares), essas instruções não encontrarão strings nulas (ou seja, dois caracteres de aspas consecutivos, sem nada entre eles).

informação relacionada