SF Area/Download
Support This Project
SourceForge.net Logo

Welcome to the Free CSRegEx regular expressions parser for C++.

Here are the features of CSRegEx:

  • Public Domain license. Only restriction is author and contributors' names must be kept in source code.
  • Can be used in binary format without ANY restrictions for free or commercial use.
  • Supports all OS and all C++ compilers with STL.
  • Supports UNICODE!
  • Extremely simple to use with only ONE function necessary to use it.
  • No settings to adjust. Simply add the class file to your project.
  • Ability to pre-compile regular expressions for fast repeated searching.
  • Currently has a grand total of 5 functions for ease of use.
  • Supports long regular expression strings in the length of ~30000-60000 chars depending on final compilation size.

CSRegEx supports the following items:

  • letters
  • escaped characters except numbers (\n\r\v\t\a\b\f\x##\X## are special)
  • sets (also includes negated set) ie. [0-9a-zA-Z_] or [^"]
  • dot (matches any character, even newlines)
  • alternatives (matches left or right side of expression) ie. first|second
  • groupings (groups alternatives together or simply creates backreferences) ie. (first|second)
  • groupings without backreference ie. (?:first|second)
  • backreferences 1 to 9 ie. (first|second)\1
  • quantifier 0 or more (repetitions of previous item or group) ie. (first|second)*
  • quantifier 1 or more ie. (first|second)+
  • quantifier 0 or 1 ie. (first|second)?
  • quantifier n times ie. (first|second){5}
  • quantifier n or more ie. (first|second){5,}
  • quantifier n to m times ie. (first|second){5,10}
  • lazy quantifiers (matches least amount possible) ie. (first|second){5,10}?
  • start of input anchor (match must start at the beginning) ie. ^(first|second)
  • end of input anchor (match must appear at the end) ie. (first|second)$

Webmaster: Cléo Saulnier