Need help with T-Regx?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

255 Stars 8 Forks MIT License 956 Commits 4 Opened issues

Description

Wrapper for PHP regular expression, providing exceptions and error handling.

Services available

!
?

Need anything else?

Contributors list

T-Regx

T-Regx | Regular Expressions library

PHP regular expressions brought up to modern standards.

See documentation at t-regx.com.

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

Installation for PHP 7.1 and later:

composer require rawr/t-regx

API

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()

Documentation

Full API documentation is available at t-regx.com. List of changes is available in ChangeLog.md.

Try it online, in your browser!

Open T-Regx fiddle and start playing around.

Why T-Regx stands out?

:bulb: See documentation at t-regx.com

  • 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

or

Pretty api

Sponsors

Andreas Leathley - developing SquirrelPHP

T-Regx is developed thanks to

JetBrains

License

T-Regx is MIT licensed.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.