00001 /*************************************************************************** 00002 *cr 00003 *cr (C) Copyright 1995-2019 The Board of Trustees of the 00004 *cr University of Illinois 00005 *cr All Rights Reserved 00006 *cr 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * RCS INFORMATION: 00011 * 00012 * $RCSfile: JRegex.h,v $ 00013 * $Author: johns $ $Locker: $ $State: Exp $ 00014 * $Revision: 1.16 $ $Date: 2024/03/01 02:01:37 $ 00015 * 00016 *************************************************************************** 00017 * DESCRIPTION: 00018 * Regular expression matching interface. 00019 ***************************************************************************/ 00020 00021 #ifndef J_REGEX_H__ 00022 #define J_REGEX_H__ 00023 00025 class JRegex { 00026 public: 00029 JRegex(const char *pattern, int fast=0); 00030 ~JRegex(); 00031 00033 int match(const char *str, int len) const; 00034 00038 int search(const char *str, int len, int &length, int start=0); 00039 00040 private: 00041 JRegex(const JRegex&) {} 00042 void *rpat; 00043 #if defined(VMDUSEPCRE2) 00044 void *md; 00045 int JIT; 00046 #endif 00047 }; 00048 00049 #endif