| //===========================================================================// |
| // 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 |