hanickadot/compile-time-regular-expressions

Compile Time Regular Expression in C++

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 49 minutes ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 18th, 2026
Created on June 25th, 2016
Open Issues & Pull Requests: 105 (+0)
GitHub issues: Enabled
Number of forks: 211
Total Stargazers: 3,854 (+1)
Total Subscribers: 63 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.8 hours
Mean response time: 13.6 days
90th percentile: 11.0 days
Tracked items: 29

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 18
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 655 days
Stale 30+ days: 18
Stale 90+ days: 14

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • support request (1)
  • wontfix (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Compile Time Regular Expressions is a header-only C++ library that evaluates regular expressions at compile time using constexpr.

The library solves the problem of runtime regex overhead by moving pattern matching into the compilation phase. It uses C++ template metaprogramming and constexpr functions to parse and execute regular expressions during compilation, producing zero-runtime-cost pattern matching when patterns are known at build time. The approach supports a PCRE-compatible syntax and allows developers to write regex patterns as compile-time constants, with results available as compile-time values.

Projects with fixed, known regex patterns benefit most from this tool, particularly performance-critical applications where eliminating runtime regex evaluation matters. Embedded systems, real-time processing, and compile-time validation scenarios are natural fits. The library works as a header-only dependency requiring only C++17 or later, making integration straightforward. Developers should adopt this when their regex patterns are determined at compile time; if patterns must be dynamic or user-supplied at runtime, traditional regex libraries remain necessary.

The project shows consistent refinement of its constexpr implementation across C++ standard versions. Development maintains active engagement with the C++ standards evolution, particularly around constexpr capabilities. The codebase demonstrates careful attention to compile-time evaluation constraints and template instantiation patterns. Work reflects a focus on expanding pattern syntax support and improving the compile-time evaluation model as language features mature.