Codeception URL 正则表达式

Codeception URL regex

所以官方文档完全没有提到正则表达式模式中使用的波浪号 (~),例如在 seeCurrentUrlMatches() 函数中。然而,它在文档中被广泛使用。

在示例中,正则表达式如下所示:

    $I->seeCurrentUrlMatches('~$/users/(\d+)~');

我的结论是,Codeception 期望您使用的正则表达式模式显然是非标准的。那么 ~$ 有什么作用呢?我在哪里可以找到关于此的完整文档或文章?

Codeception 不使用任何特殊的正则表达式函数。

seeCurrentUrlMatches 方法调用 PhpUnit 的 assertRegexp 方法,该方法在底层使用 preg_match

preg_match 使用模式 delimiters。分隔符可以是任何非字母数字字符。 /是最常用的分隔符,但是匹配URL不方便,因为URL中需要转义很多斜线,所以用~作为分隔符避免需要逃跑。

模式开头的

$可能是示例中的一个简单错误。