dev-master
9999999-devPHP Regular expressions made easy
MIT
The Requires
- php >=5.3
The Development Requires
1.0.0
1.0.0.0PHP Regular expressions made easy
MIT
The Requires
- php >=5.3
The Development Requires
Wallogit.com
2017 © Pedro Peláez
PHP Regular expressions made easy
VerbalExpressions is a PHP library that helps to construct hard regular expressions., (*2)
The project supports Composer so you have to install Composer first, before project setup., (*3)
$ composer require verbalexpressions/php-verbal-expressions:dev-master
<?php
// some tests
require './vendor/autoload.php';
use VerbalExpressions\PHPVerbalExpressions\VerbalExpressions;
$regex = new VerbalExpressions();
$regex->startOfLine()
->then("http")
->maybe("s")
->then("://")
->maybe("www.")
->anythingBut(" ")
->endOfLine();
if ($regex->test("http://github.com")) {
echo "valid url". '<br>';
} else {
echo "invalid url". '<br>';
}
if (preg_match($regex, 'http://github.com')) {
echo 'valid url';
} else {
echo 'invalid url';
}
echo "
". $regex->getRegex() ."
";
echo $regex->clean(array("modifiers" => "m", "replaceLimit" => 4))
->find(' ')
->replace("This is a small test http://somesite.com and some more text.", "-");
More examples are available in the following files:, (*4)
$definition = 'start, then "http", maybe "s", then "://", maybe "www.", anything but " ", end'; $regex = new VerbalExpressionsScenario($definition);
| Name | Description | Usage |
|---|---|---|
| add | add values to the expression | add('abc') |
| startOfLine | mark expression with ^ | startOfLine(false) |
| endOfLine | mark the expression with $ | endOfLine() |
| then | add a string to the expression | add('foo') |
| find | alias for then | find('foo') |
| maybe | define a string that might appear once or not | maybe('.com') |
| anything | accept any string | anything() |
| anythingBut | accept any string but the specified char | anythingBut(',') |
| something | accept any non-empty string | something() |
| somethingBut | anything non-empty except for these chars | somethingBut('a') |
| replace | shorthand for preg_replace() | replace($source, $val) |
| lineBreak | match \r \n | lineBreak() |
| br | shorthand for lineBreak | br() |
| tab | match tabs \t | tab() |
| word | match \w+ | word() |
| anyOf | any of the listed chars | anyOf('abc') |
| any | shorthand for anyOf | any('abc') |
| range | adds a range to the expression | range(a,z,0,9) |
| withAnyCase | match case default case sensitive | withAnyCase() |
| stopAtFirst | toggles the g modifiers | stopAtFirst() |
| addModifier | add a modifier | addModifier('g') |
| removeModifier | remove a mofier | removeModifier('g') |
| searchOneLine | Toggles m modifier | searchOneLine() |
| multiple | adds the multiple modifier | multiple('*') |
| _or | wraps the expression in an or with the provided value |
_or('bar') |
| limit | adds char limit | limit(1,3) |
| test | performs a preg_match | test('valid@email.com') |
For all the above method (except test) you could use the VerbalExpressionsScenario., (*5)
You can see an up to date list of all ports on VerbalExpressions.github.io. - Javascript - Ruby - C# - Python - Java - C++, (*6)
The project supports Composer so you have to install Composer first before project setup., (*7)
curl -sS https://getcomposer.org/installer | php php composer.phar install --dev ln -s vendor/phpunit/phpunit/phpunit.php phpunit ./phpunit
PHP Regular expressions made easy
MIT
PHP Regular expressions made easy
MIT