flexic / regex-builder
Provides a builder for regular expressions.
Requires
- php: ^8.1
Requires (Dev)
- ergebnis/php-cs-fixer-config: ^4.9.0
- phpstan/phpstan: ^1.8.8
- phpstan/phpstan-deprecation-rules: ^1.0.0
- phpstan/phpstan-strict-rules: ^1.4.4
- phpunit/phpunit: ^9.5.25
This package is auto-updated.
Last update: 2024-10-29 18:11:40 UTC
README
This package provides a builder for regular expressions.
It is designed to make using regular expressions easier and more readable for developers.
Installation
Run
composer require flexic/regex-builder
Usage
Regex-Builder allows you to build regular expressions in a fluent object-oriented way.
The following example shows how to build a regular expression.
$pattern = new \Flexic\RegexBuilder\Pattern(); $pattern->add( new \Flexic\RegexBuilder\Expr\Group([ new \Flexic\RegexBuilder\Expr\LookAround\Ahead( new \Flexic\RegexBuilder\Expr\Enclosed( new \Flexic\RegexBuilder\Expr\Literal('<picture>'), ), ), new \Flexic\RegexBuilder\Expr\Enclosed( new \Flexic\RegexBuilder\Expr\Option([ new \Flexic\RegexBuilder\Expr\Marker\AnyWord(), new \Flexic\RegexBuilder\Expr\Marker\AnyNonWord(), ]), ), new \Flexic\RegexBuilder\Expr\LookAround\Follow( new \Flexic\RegexBuilder\Expr\Literal('</picture>'), ), ]), );
Patterns build with Regex-Builder can be converted to a string representation of a regular expression.
$pattern->toString(); // returns: '(?=(\<picture\>))(\w|\W)(?<=\<\/picture\>)'
or used into flexix/regex
to library.
Expression Lexing
Regex-Builder provides a lexer to convert a string representation of a regular expression into an object representation.
🚧 Lexer is currently under development and will be finished later.
License
This package is licensed using the GNU License.
Please have a look at LICENSE.md.