最新下载
热门教程
- 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, 'http://www.111com.net'); // 返回 1 // 或 $matcher = new Matcher(); $matcher->isMatch($verbalExpression, 'http://www.google.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+) |
这样做只会影响后续增加的表达式;任何已经添加的匹配规则不会受到影响。这里允许禁用和启用组。
代码如下 | 复制代码 |
|
相关文章
- 原神伴爪同行第五天怎么玩 11-27
- 原神瑞幸联名怎么玩 11-27
- 无期迷途派因怎么样 11-27
- 阴阳师季四时承青怎么样 阴阳师季四时承青皮肤介绍 11-27
- 阴阳师神酿星熊童子怎么样 阴阳师神酿星熊童子式神介绍 11-27
- 炉石传说融合进化猎卡组怎么样 11-27