v0.2.2 2013-10-20 21:25 UTC

This package is auto-updated.

Last update: 2024-09-20 09:21:41 UTC


README

ExpExp 扩展表达式。这与常规正则表达式的功能正好相反。

例如 ab(cd|[xy]) 会扩展为

  • abcd,
  • abx
  • aby.

Build Status Scrutinizer Quality Score Code Coverage

作者

功能

以下表达式可以通过该库进行扩展

析取

abc[xyz]

将扩展为

  • abcx
  • abcy
  • abcz

命名字符类

除了列出所有析取字符外,您还可以从一组可用的字符类中进行选择

  • upper 包含大写字母(从ASCII)
  • lower 包含小写字母(从ASCII)
  • digit 包含数字
  • space 包含空格字符
  • punct 包含标点符号

您可以通过将它们括在冒号中来使用命名字符类

[:upper:]

点操作符

abc.

将扩展为

  • abcA
  • abcB

点操作符不会扩展到每个字符,而只会扩展到 A-Za-z0-9_

括号

ab(c)

将扩展为

  • abc

重复

重复操作符允许重复前面的字符。如果只给出一个值,则重复前面的字符,如果给出两个值,则将字符与给定范围内的每个值相乘。{,3}{0,3} 相同。

a{3}

将扩展为

  • aaa

或带有最小和最大值的重复

a{1,3}

将扩展为

  • a
  • aa
  • aaa

这也适用于析取和括号。

选择

abc|xyz

将扩展为

  • abc
  • xyz

可选

abc?

将扩展为

  • abc
  • ab

这也适用于括号

abc(xyz)?

将扩展为

  • abc
  • abcxyz

因此,可选操作符的效果与 {0,1} 相同。

更多示例

用法

实例化对象,并用模式调用 expand() 方法

use Bc\ExpExp\ExpExp;

$e = new ExpExp();
$result = $e->expand('abc|xyz');

更多示例可以在测试用例中找到。

变更日志

版本 0.2.2 (2013-10-20)

  • 点操作符匹配 word 字符类

版本 0.2.1 (2013-10-19)

  • 命名字符类

版本 0.2 (2013-10-19)

  • 将命名空间更改为 Braincrafted
  • 添加重复操作符 {}
  • 完全重写以使其更容易扩展
  • 改进测试套件

版本 0.1.1 (2013-10-16)

  • 更好的代码风格
  • 更好的代码文档

版本 0.1 (2013-10-16)

  • 移动到 Bc 命名空间
  • 用模式调用 expand()
  • 更好的文档

许可证

ExpExp 根据 MIT 许可证授权。有关更多信息,请参阅项目根目录中的 LICENSE 文件。

Bitdeli Badge