mck89/rebuilder

REBuilder 是一个用于构建和解析正则表达式的 PHP 库

dev-master / 1.0.x-dev 2016-09-15 15:11 UTC

This package is auto-updated.

Last update: 2024-08-29 04:14:30 UTC


README

REBuilder 是一个支持 PHP 5.3+ 的库,用于构建和解析正则表达式

安装

在您的 composer.json 中添加以下需求

{
	"require": {
		"mck89/rebuilder": "dev-master"
	}
}

运行 composer install 并包含自动加载器

require_once "vendor/autoload.php";

解析

REBuilder 的解析器从正则表达式开始构建树状结构。例如,以下代码

//Parse the regular expression
$regex = REBuilder\REBuilder::parse("/parse\s+me/");

生成以下结构

REBuilder\Pattern\Regex
    getStartDelimiter() => "/"
    getEndDelimiter() => "/"
    getChildren() => array(
        REBuilder\Pattern\Char
            getChar() => "parse"
            
        REBuilder\Pattern\GenericCharType
            getIdentifier() => "s"
            getRepetition() => REBuilder\Pattern\Repetition\OneOrMore
            
        REBuilder\Pattern\Char
            getChar() => "me"
    )

构建

REBuilder 允许您使用面向对象的 PHP 构建正则表达式

//Create an empty regular expression object
$regex = REBuilder\REBuilder::create();

$regex->addCharAndContinue("parse")
      ->addGenericCharType("s")
          ->setRepetition("+")
          ->getParent()
      ->addCharAndContinue("me");

echo $regex->render(); //"/parse\s+me/"