• 大小: 49KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: C/C++
  • 标签: regex  c++  posix  linux  

资源简介

linux下posix标准的正则表达式库,支持regcomp, regexec等,可以放到vs2010或vs2012下进行编译。

资源截图

代码片段和文件信息

/* Extended regular expression matching and search library
  version 0.12.
  (Implements POSIX draft P10003.2/D11.2 except for
  internationalization features.)
  
  Copyright (C) 1993 1994 1995 Free Software Foundation Inc.
  
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 or (at your option)
  any later version.
  
  This program is distributed in the hope that it will be useful
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not write to the Free Software
  Foundation Inc. 675 Mass Ave Cambridge MA 02139 USA.  */

/* AIX requires this to be the first thing in the file. */
//add by test qiao
#if defined (_AIX) && !defined (REGEX_MALLOC)
  #pragma alloca
#endif

#define _GNU_SOURCE

#ifdef HAVE_CONFIG_H
#include 
#endif

/* We need this for ‘regex.h‘ and perhaps for the Emacs include files.  */
#include 

/* This is for other GNU distributions with internationalized messages.  */
#if HAVE_LIBINTL_H || defined (_LIBC)
# include 
#else
# define gettext(msgid) (msgid)
#endif

/* The ‘emacs‘ switch turns on certain matching commands
   that make sense only in Emacs. */
#ifdef emacs

#include “lisp.h“
#include “buffer.h“
#include “syntax.h“

#else  /* not emacs */

/* If we are not linking with Emacs proper
   we can‘t use the relocating allocator
   even if config.h says that we can.  */
#undef REL_ALLOC

#if defined (STDC_HEADERS) || defined (_LIBC)
#include 
#else
char *malloc ();
char *realloc ();
#endif

/* When used in Emacs‘s lib-src we need to get bzero and bcopy somehow.
   If nothing else has been done use the method below.  */
#ifdef INHIBIT_STRING_HEADER
#if !(defined (HAVE_BZERO) && defined (HAVE_BCOPY))
#if !defined (bzero) && !defined (bcopy)
#undef INHIBIT_STRING_HEADER
#endif
#endif
#endif

/* This is the normal way of making sure we have a bcopy and a bzero.
   This is used in most programs--a few other programs avoid this
   by defining INHIBIT_STRING_HEADER.  */
#ifndef INHIBIT_STRING_HEADER
/*#if defined (HAVE_STRING_H) || defined (STDC_HEADERS) || defined (_LIBC)*/
#include 
#ifndef bcmp
#define bcmp(s1 s2 n) memcmp ((s1) (s2) (n))
#endif
#ifndef bcopy
#define bcopy(s d n)  memcpy ((d) (s) (n))
#endif
#ifndef bzero
#define bzero(s n)     memset ((s) 0 (n))
#endif
/*#else
#include 
#endif*/
#endif

/* Define the syntax stuff for < > etc.  */

/* This must be nonzero for the wordchar and notwordchar pattern
   commands in re_match_2.  */
#ifndef Sword 
#define Sword 1
#endif

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     212835  2018-12-13 11:14  regex\regex.c

     文件      19187  2018-01-19 18:21  regex\regex.h

     目录          0  2018-12-13 11:06  regex

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

               232022                    3


评论

共有 条评论