WoltLab/WCF — pull request #305 by TimWolla (2011-12-17 13:00:19+00:00)
Title: Adding \wcf\system\Regex

That way we can typehint regexes and have object-oriented access on regexes.

There is no longer a need to add or escape the delimiters, this is all done by the Regex-class.
The modifiers are added via a bitmask as the second parameter:
Valid modifiers are:
Regex::CASE_INSENSITIVE (add i)
Regex::EVAL_REPLACEMENT (add e)
Regex::UNGREEDY (add U)
Regex::NO_ANALYSE (don't add s)

Usage:

```php
match('http://www.woltlab.com/pluginstore/')); // int(1)
var_dump($regex->getMatches()); // array with all matched substrings

var_dump(Regex::compile('[a-z]')->replace('asdf345', '')); // string(3) "345"
var_dump(Regex::compile('[a-z]')->replace('asdf345', new Callback(function ($matches) {
return 'x';
})); // string(7) "xxxx345"
?>
```