Boost logo

Boost :

From: Mayo (g17mayo_at_[hidden])
Date: 2001-06-06 16:31:41


Hi,

I am developing an application that monitors net traffic and decodes
messages into readable text format.

The application needs to have a facility that can match individual
fields in the text form of the messages, in order to troubleshoot
problems in the system more easily. So I chose to use Dr. Maddock's
regex++ cause it seems to be easy to use and also offers a fast
matching algorithm something that is critical to what I am developing.

The problem I am facing is that although I use regex_match()
similarly with the example in the documantation, it seems that
regex_match() returns always false.

I use regex_match as follows:

----------------------------------------------------------------------

/**> Code
 ** Usage of regex_match()
 **
 **/
using namespace boost

regex match_ex("fieldX = Y");

bool MatchCheck( const::std string *message )
{

    if( regex_match(message.begin(), message.end(), what, match_ex,
match_default)
    {
        //do something
        //and return true
    }
    else
    {
       //do something else
       //and return false
    }
}

----------------------------------------------------------------------

variable message is a buffer that holds the decoded message which is
in a following format.

-----------------------------
date:source_ip->dest_ip
     MESSAGE_TYPE
     field1 = 1
     field2 = 2
     field3 = 3
     .
     .
     fieldn = n
----------------------------

I really can figure out why that always returns false there is
definately something I am missing. Unfortunately I am not very
familiar neither with regex++ nor with the GNU regular expression
library so I am a bit stuck.

I would greately appreciate any kind of help and pointers that can
help me identify the nature of the problem.

Regards,

George P.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk