最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
正则表达式 VerbalExpressionsPhp使用例子
时间:2022-06-25 02:41:24 编辑:袖梨 来源:一聚教程网
该类库是jehna/VerbalExpressions的php版本。
这货的竟然通过链式方法把正则给语义化了。。。我表示很愤慨啊。。。
安装
代码如下 | 复制代码 |
加入composer.json { |
使用
代码如下 | 复制代码 |
require_once 'vendor/autoload.php'; use MarkWilson\VerbalExpression; use MarkWilson\VerbalExpression\Matcher; // 初始化VerbalExpression实例 $verbalExpression = new VerbalExpression(); // URL地址匹配 $verbalExpression->startOfLine() ->then('http') ->maybe('s') ->then('://') ->maybe('www.') ->anythingBut(' ') ->endOfLine(); // 编译表达式 - 返回: ^(http)(s)?(\:\/\/)(www\.)?([^\ ]*)$ $verbalExpression->compile(); // 执行匹配 preg_match($verbalExpression, 'https://www.111cn.net'); // 返回 1 // 或 $matcher = new Matcher(); $matcher->isMatch($verbalExpression, 'http://www.g*o*o*gle.com'); // 返回 true |
嵌套表达式
代码如下 | 复制代码 |
$innerExpression = new VerbalExpression(); $innerExpression->word(); $outerExpression = new VerbalExpression(); $outerExpression->startOfLine() ->find($innerExpression) ->then($innerExpression) ->endOfLine(); // 返回 ^(\w+)(\w+)$ $outerExpression->compile(); |
禁用子模式捕获
默认情况下,子匹配规则可以被获取,并返回匹配的数组。
代码如下 | 复制代码 |
// 禁用获取子匹配规则 $verbalExpression->disableSubPatternCapture()->word(); // (?:\w+) // 或 $verbalExpression->word(false); // (?:\w+) |
这样做只会影响后续增加的表达式;任何已经添加的匹配规则不会受到影响。这里允许禁用和启用组。
代码如下 | 复制代码 |
|
相关文章
- 无主之地4万物皆可卖成就怎么达成 万物皆可卖成就解锁攻略 09-18
- 地狱即我们全章节怎么过 1-15章流程视频攻略总览 09-18
- 无主之地4安全屋怎么占领 安全屋占领方法 09-18
- 地狱即我们境界怎么过 最终章剧情流程视频攻略 09-18
- 无主之地4圣城丢失的补给舱在哪 圣城丢失的补给舱收集攻略 09-18
- 地狱即我们迷雾平原怎么过 第十四章剧情流程视频攻略 09-18