none
Regulat Expression Achar e substituir RRS feed

  • Pergunta

  • Boa tarde a todos.

    Conheço pouco sobre Regex. Mas tenho um programa que permite fazer pesquisas personalizadas com expressões. 

    Mas ele tem somente um campo onde eu escrevo a expressão. 

    base%sv.*%fdbase1
    
    base%svminha casa é amarela%fdbase1

    Se eu usar a expressão acima, eu encontro a frase minha casa é amarela. Mas eu quero pegar essa frase que eu encontrei e substituir o amarelo pelo vermelho. Mas eu não não outros campos. Eu imagino que se for possível continuar com a expressão:

    (base%sv.*%fdbase1).replace(amarelo,vermelho)
    É claro que a linha acima não é uma expressão, mas serve para exemplificar o que preciso.

    terça-feira, 15 de outubro de 2013 17:14

Todas as Respostas

  • Você pode utilizar o método Replace() da classe REGEX.

    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    terça-feira, 15 de outubro de 2013 17:34
  • Obrigado Romero, mas até onde eu sei o replace eu poderia usar se eu tivesse o código do programa e inserisse uma nova função.

    Mas esse programa não é meu. E ele oferece esse sistema de pesquisa personalizada em documentos somente com um campo, que eu acredito ser a função match, ou seja, serve para encontrar strings no texto.

    Como eu conheço pouco de regex, achei que mesmo com um único campo eu poderia executar o match, ou seja, encontrar a string e fazer uma nova chamada usando a mesma linha. 

    Uma analogia boa é uma operação matemática. 2+(2*5). Nessa operação eu primeiro devo multiplicar, ou seja, eu encontro a frase "minha casa é amarela" , e depois somo mais 2 ou seja, troco o amarelo pelo vermelho. 

    Mas nas pesquisas que fiz, realmente não é possível, o programa teria que fornecer mais um campo, onde nele, eu colocaria a palavra vermelho e assim, executaria a função replace.

    quarta-feira, 16 de outubro de 2013 00:17