MSWord 2016 retornando várias palavras com pesquisa * curinga

0

Estou trabalhando em um documento de referência da API e preciso editar um grande número de linhas em uma foto. Todas as linhas parecem com int/void/string App* e eu preciso editá-las todas para dizer "int App *". Escrevi um caractere curinga simples para localizar a pesquisa que parece com <[!i]*> <App*> e seleciona qualquer número de palavras entre as primeiras < >.

Todo recurso do MSWord que eu li sugere que o uso de < > diz ao Word para selecionar explicitamente uma palavra apenas. De Microsoft :

The less than and greater than symbols (< >) mark the start and end of each word, respectively. They ensure that the search returns a single word.

Captura de tela relevante de correspondência incorreta
Linhas que estou tentando comparar

Há algo que estou fazendo errado aqui ou isso é algum tipo de bug?

    
por xjsc16x 23.05.2018 / 22:33

1 resposta

0

Eu acho que sua expressão correta é esta:

  • Localizar: \<[^>]@\> \<([^>]@)\>
  • Substituir por:
    int

Every MSWord resource I've read suggests that using < > tells Word to explicitly select one word only.

> and < de fato coincidir com limites de palavras, no entanto, ele corresponde a apenas uma palavra, caso a expressão entre elas também esteja correta, no entanto, você não precisa usá-las em sua expressão.

Você precisa escapar deles ( \< ) para combiná-los literalmente.

Outras alterações na sua expressão:

  • [^>] - você precisa corresponder ao texto que não contém o fechamento >
  • * to @ - em expressões regulares do Word * mantém sua função geral de "zero ou mais caracteres", é necessário usar @ para "anterior uma vez ou mais"
por 23.05.2018 / 22:55