元清 / extract
此包已被弃用且不再维护。未建议替代包。
PHP中从字符串中提取数据的小工具。
v0.1.0
2014-07-19 08:21 UTC
Requires
- php: >=5.3
This package is not auto-updated.
Last update: 2020-01-20 03:37:41 UTC
README
正则表达式提取字符串数据的小工具
use yuanqing\Extract\Extract; $e = new Extract('{{ foo.bar }}, {{ foo.baz }}!'); $e->extract('Hello, World!'); #=> ['foo' => ['bar' => 'Hello', 'baz' => 'World']]
Boom.
使用方法
-
如果给定的字符串不匹配所需的格式,则返回
null
。 -
每个捕获组都包含在双大括号内。在双大括号内,我们有
- 捕获组的名称
- (可选) 字符长度
- (可选) 类型指定符
-
捕获组可以是任意的 字符串 (
s
)$e = new Extract('{{ foo: s }}, {{ bar: s }}!'); $e->extract('Hello, World!'); #=> ['foo' => 'Hello', 'bar' => 'World'] $e->extract('Hola, World!'); #=> ['foo' => 'Hola', 'bar' => 'World'] $e = new Extract('{{ foo: 5s }}, {{ bar: 5s }}!'); $e->extract('Hello, World!'); #=> ['foo' => 'Hello', 'bar' => 'World'] $e->extract('Hola, World!'); #=> null
-
...或者一个 整数 (
d
)$e = new Extract('{{ day: d }}-{{ month: d }}-{{ year: d }}'); $e->extract('31-12-2014'); #=> ['day' => 31, 'month' => 12, 'year' => 2014] $e->extract('31-12-14'); #=> ['day' => 31, 'month' => 12, 'year' => 14] $e->extract('31-Dec-2014'); #=> null $e = new Extract('{{ day: 2d }}-{{ month: 2d }}-{{ year: 4d }}'); $e->extract('31-12-2014'); #=> ['day' => 31, 'month' => 12, 'year' => 2014] $e->extract('31-12-14'); #=> null
-
...或者一个 浮点数 (
f
)$e = new Extract('{{ tau: f }}, {{ pi: f }}'); $e->extract('6.28, 3.14'); #=> ['tau' => 6.28, 'pi' => 3.14] $e->extract('tau, pi'); #=> null $e = new Extract('{{ tau: 1.f }}, {{ pi: 1.f }}'); $e->extract('6.28, 3.14'); #=> ['tau' => 6.28, 'pi' => 3.14] $e->extract('06.28, 03.14'); #=> null $e = new Extract('{{ tau: .2f }}, {{ pi: .2f }}'); $e->extract('6.28, 3.14'); #=> ['tau' => 6.28, 'pi' => 3.14] $e->extract('6.283, 3.142'); #=> null $e = new Extract('{{ tau: 1.2f }}, {{ pi: 1.2f }}'); $e->extract('6.28, 3.14'); #=> ['tau' => 6.28, 'pi' => 3.14] $e->extract('6.3, 3.1'); #=> null
本README中的所有示例都在examples.php文件中。您还可以在测试中找到更多使用示例。
要求
Extract.php需要至少 PHP 5.3 或 HHVM。
安装
使用Composer安装
-
安装Composer。
-
$ composer require yuanqing/extract ~0.1
-
在您的PHP中,需要Composer自动加载器
require_once __DIR__ . '/vendor/autoload.php';
手动安装
-
克隆此仓库
$ git clone https://github.com/yuanqing/extract
或者只需获取zip文件。
-
在您的PHP中,需要Extract.php
require_once __DIR__ . '/src/Extract.php';
测试
您需要PHPUnit来运行测试
$ git clone https://github.com/yuanqing/extract
$ cd extract
$ phpunit
许可证
MIT许可证