Ir para conteúdo
Fórum Script Brasil
  • 0

Problema Com Regular Expression


Adenes

Pergunta

Boa Noite,

Preciso capturar dados de uma variável usando uma regular expression. Os dados estão na forma (por exemplo Ip=8.8.8.8&probe=ip/tcp{dst=53}).

Para isso estou usando:

char *data;
data = getenv("QUERY_STRING");
char ipt[40];
char probe[40];
sscanf(data,"ip=%[0-9a-zA-Z-.]&probe=%[0-9a-zA-Z-.{}/=]",ipt,probe);
O segundo dado tem a barra sempre, porém o compilador não aceita essa regular expression, mais especificamente a /
são consigo capturar o que há depois do probe=
como fazer?
Já tentei usar
sscanf(data,"ip=%[0-9a-zA-Z-.]&probe=%[...]",ipt,probe);
sem sucesso também.
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Sim essa é minha intenção. Porém esses campos são variáveis. O IP está capturando corretamente, mas a parte da probe não captura nenhum dos caracteres especiais, somente letras e o . os {}/= não são capturados nem do jeito que eu postei nem com sua dica.

Link para o comentário
Compartilhar em outros sites

  • 0
#include <stdio.h>
#include <stdlib.h>

int main(){
    char *data = "Ip=8.8.8.8&probe=ip/tcp{dst=53}";
    //data = getenv("QUERY_STRING");

    char ipt[40];
    char probe[40];
    sscanf(data,"%*[IiPp=]%[0-9.]%*[&pPrRoObBeE=]%[a-zA-Z0-9/.}{=]", ipt, probe);
    printf("ip: %s\nprobe: %s\n", ipt, probe);
    fflush(stdout);
    return 0;
}

Saída:

ipt: 8.8.8.8
probe: ip/tcp{dst=53} 

Tem certeza que são esses dados que estão na variável QUERY_STRING?

Manda imprimir o valor de "data" antes de usar o sscanf.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...