64 lines
2.0 KiB
C
64 lines
2.0 KiB
C
|
//===========================================================================//
|
||
|
// Purpose : Regular expression class based on PCRE
|
||
|
//
|
||
|
//---------------------------------------------------------------------------//
|
||
|
// _____ ___ _ ___ ___ ___
|
||
|
// U.S. Application Specific Products |_ _|_ _| /_\ / __|_ _/ __|
|
||
|
// | | | | / _ \\__ \| | (__
|
||
|
// ASIC Software Engineering Services |_| |___| /_/ \_\___/___\___|
|
||
|
//
|
||
|
// Property of Texas Instruments -- For Unrestricted Use -- Unauthorized
|
||
|
// reproduction and/or sale is strictly prohibited. This product is
|
||
|
// protected under copyright law as an unpublished work.
|
||
|
//
|
||
|
// Created 2003, (C) Copyright 2003 Texas Instruments.
|
||
|
//
|
||
|
// All rights reserved.
|
||
|
//
|
||
|
// ---------------------------------------------------------------------
|
||
|
// These commodities are under U.S. Government 'distribution
|
||
|
// license' control. As such, they are not to be re-exported
|
||
|
// without prior approval from the U.S. Department of Commerce.
|
||
|
// ---------------------------------------------------------------------
|
||
|
//
|
||
|
//===========================================================================//
|
||
|
#ifndef ACL_REGEXP_H
|
||
|
#define ACL_REGEXP_H
|
||
|
|
||
|
#include "pcre.h"
|
||
|
|
||
|
class RegExp
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
RegExp( const char* expression, int options = 0 );
|
||
|
~RegExp( void );
|
||
|
|
||
|
bool Index( const char* subject, size_t* start, size_t* len );
|
||
|
const char* Match( const char* subject );
|
||
|
bool IsValidRE( void ) const;
|
||
|
|
||
|
public:
|
||
|
|
||
|
const char* pszError;
|
||
|
int errorOffset;
|
||
|
|
||
|
private:
|
||
|
|
||
|
char* pszMatch_;
|
||
|
pcre* ppcreCode_;
|
||
|
int pcreOptions_;
|
||
|
int pcreRc_;
|
||
|
};
|
||
|
|
||
|
//===========================================================================//
|
||
|
// Function inline defintions
|
||
|
//===========================================================================//
|
||
|
|
||
|
inline bool RegExp::IsValidRE( void ) const
|
||
|
{
|
||
|
return( ( ppcreCode_ != NULL ) ? true : false );
|
||
|
}
|
||
|
|
||
|
#endif
|