Range Regex
![Software License][ico-license]
![Coverage Status][ico-scrutinizer]
![Total Downloads][ico-downloads], (*1)
Returns a regex-compatible range from two numbers, min and max. Inspired by jonschlinkert/to-regex-range., (*2)
Why would I need this?
That's a good question. You normally would write something like if ($x > $min && $x < $max) { ... }, right?, (*3)
Say you want to build a glob like function yourself., (*4)
If your glob would support syntax like foo/{1..5}.md and you plan to do the matching using a regex pattern.. Well, this library can convert 1..5 to a regex., (*5)
Read More, (*6)
Install
Via Composer, (*7)
``` bash
$ composer require hansott/range-regex, (*8)
## Usage
``` php
use HansOtt\RangeRegex\FactoryDefault;
use HansOtt\RangeRegex\Range;
$factory = new FactoryDefault();
$converter = $factory->getConverter();
$range = new Range(1, 3456);
$regex = sprintf('/^(%s)$/', $converter->toRegex($range));
// /^([1-9]|[1-9][0-9]|[1-9][0-9]{2}|[1-2][0-9]{3}|3[0-3][0-9]{2}|34[0-4][0-9]|345[0-6])$/
$matchesRegex = (bool) preg_match($regex, 0); // false
$matchesRegex = (bool) preg_match($regex, 2014); // true
$matchesRegex = (bool) preg_match($regex, 3457); // false
Change log
Please see CHANGELOG for more information what has changed recently., (*9)
Testing
bash
$ composer test, (*10)
Contributing
Please see CONTRIBUTING and CONDUCT for details., (*11)
Credits
License
The MIT License (MIT). Please see License File for more information., (*12)