我希望能够捕获我项目的“主变量” - 当我在本地运行项目时说“mlocal”,或者在Moovweb云上使用mstage / m / user1234。
变量$ host包含站点的完整URL,因此我无法使用它。我希望能够获取URL的第一位(例如:mlocal.site.com - 我想抓取“mlocal”)并将其设置为一个新变量。
我是这样想的:
var("host") {
$my_var = capture(/^\w+/)
}
但它似乎不起作用。
答案 0 :(得分:2)
为了仅捕获主机变量,您必须使用正则表达式中的括号创建捕获组,然后使用组编号提取主机变量。这是一个关于如何做到这一点的例子:
$host {
capture(/(\w+)\..*/) {
$hostvar = $1
}
}
log($hostvar)
这应该将主机变量记录到控制台。注意捕获参数中的正则表达式如何在第一部分周围包含括号,随后将其分为显式句点,然后我们匹配字符串的其余部分,但在捕获组之外。一旦我们处于捕获范围内,我们就可以使用$1
变量提取捕获组。