Compile Time Regular Expressions Versions Save

Compile Time Regular Expression in C++

v3.8.1

7 months ago
  • fix of error with checked iterators in MSVC when ctre::split range return last item empty
  • update cmake project version to mirror release version

v3.8

9 months ago
  • ability to build ctll::fixed_string from pointer and std::array (ctll::fixed_string<N>(ctll::construct_from_pointer, ptr))
  • improved compatibility issues of operator== and operator!= utf8_iterator and utf8_sentinel

v3.7.2

1 year ago

conditional [[msvc::flatten]] and explicit operator bool on capture groups, which fixes #275

v3.7.1

1 year ago
  • switching modes inside pattern (pattern: (?i)AB(?c)AB matches string: "abAB")
  • better detection of char8_t support
  • fix build failure in libc++ debug mode
  • remove some shadowing warnings

v3.7

1 year ago

Support for:

  • lookbehind positive (<=abc) and negative (<!abc)
  • case insensitive matching for ASCII only ctre::OPERATION<"regex", ctre::case_insensitive>(subject_or_range) (example: ctre::match<"[a-z]+", ctre::case_insensitive>(input)

Notes: don't use mixes case range when doing case_insensitive:

  • [a-z] will match a-zA-Z
  • [a-Z] won't match anything (as ascii(a) > ascii(Z))
  • [A-z] will match more than you expect A-Z[\]^_a-z + backtick (as I don't know how to type in markdown correctly)

v3.6

2 years ago
  • [[:punct:]] behaves as ispunct in C
  • fix for several MSVC warnings
  • cmake library is using C++20 by default (you can change it back with -DCTRE_CXX_STANDARD=17)
  • CI/CD for all supported compilers (+ some fixes along the way)

v3.5

2 years ago
  • updated to Unicode 14
  • fix in UTF-16 support in patterns
  • better support of C++17 modes on newer compilers

v3.4.1

3 years ago

v3.4

3 years ago

This release supports clang 12 properly.

v3.3.4

3 years ago
  • fix for negative unicode properties in ranges
  • ctre::range now supports utf8 u8string iteration