Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


T-Regx | Regular Expressions library

PHP regular expressions brought up to modern standards.

See documentation at

last commit commit activity Unit tests Repository size FQN PRs Welcome

PHP Version PHP Version PHP Version PHP Version PHP Version

  1. Installation
  2. API
  3. Documentation
  4. T-Regx fiddle - Try online
  5. Overview
  6. Supported PHP versions
  7. Comparison
  8. License


Installation for PHP 7.1 and later:

composer require rawr/t-regx


You, choose the interface:

  • I choose to keep PHP methods (but protected from errors):

    Scroll to see - preg::match_all(), preg::replace_callback(), preg::split()

  • I choose the modern regex API:

    Scroll to see - pattern()->test(), pattern()->match(), pattern()->replace()


Full API documentation is available at List of changes is available in

Try it online, in your browser!

Open T-Regx fiddle and start playing around.

Why T-Regx stands out?

💡 See documentation at

  • No change in API!

    • You can use T-Regx safe features and exception-based error handling, without changing your API.

      Simply swap preg_match() to preg::match(), and your method is safe! Arguments and return types remain the same.

  • Working with the developer

  • Automatic delimiters for your pattern

    Surrounding slashes or tildes (/pattern/ or ~patttern~) are not compulsory.

  • Converting Warnings to Exceptions

    • Warning or errors during preg:: are converted to exceptions.
    • preg_() can never fail, because it throws PregException on warning/error.
    • In some cases, preg_() methods might fail, return false/null and NOT trigger a warning. Separate exception, SuspectedReturnPregException is then thrown by T-Regx.
  • Written with clean API

    • Descriptive interface
    • SRP methods
    • UTF-8 support out-of-the-box
    • No Reflection used, No (...varargs), No (boolean arguments, true), (No flags, 1), [No [nested, [arrays]]]
  • Protects your from fatal errors

    Certain arguments cause fatal errors with preg_() methods. T-Regx will throw a catchable exception, instead of a Fatal Error.

  • Prepared patterns

    Using user data (for example with preg_quote()) isn't always safe with PCRE, as well as just not being that convenient to use. T-Regx provides Pattern::inject() and Pattern::bind() methods, designed specifically for handling potentially unsafe data.

Supported PHP versions

Continuous integration builds are running for:

  • PHP 7.1 (7.1.0, 7.1.12, 7.1.13, 7.1.27)
  • PHP 7.2 (7.2.0, 7.2.15, 7.2.28)
  • PHP 7.3 (7.3.0, 7.3.6, 7.3.15)
  • PHP 7.4 (7.4.0, 7.4.3)
  • PHP 8.0 (nightly)

What's better

Ugly api


Pretty api


Andreas Leathley - developing SquirrelPHP

T-Regx is developed thanks to



T-Regx is MIT licensed.

You can’t perform that action at this time.