Regex Perl正则表达式搜索并替换为$variable->;函数(“args”)
基本上,我尝试用从对象的函数调用返回的任何内容来替换。但是我需要一个来自正则表达式搜索的返回值作为参数。这有点棘手,但代码本身应该说明问题:Regex Perl正则表达式搜索并替换为$variable->;函数(“args”),regex,string,perl,Regex,String,Perl,基本上,我尝试用从对象的函数调用返回的任何内容来替换。但是我需要一个来自正则表达式搜索的返回值作为参数。这有点棘手,但代码本身应该说明问题: while ( $token =~ s/\$P\(([a-z0-9A-Z_]+)\)/$db->getValue("params", qw($1))/e ) { } 我得到的错误是$1没有被计算成任何值(参数字面上变成了“$1”),所以它搞乱了我的getValue()方法 干杯函数引用“单词”。也就是说,它在所有空白字符处拆分字符串并返回该列表。它
while ( $token =~ s/\$P\(([a-z0-9A-Z_]+)\)/$db->getValue("params", qw($1))/e ) { }
我得到的错误是$1没有被计算成任何值(参数字面上变成了“$1”),所以它搞乱了我的getValue()方法
干杯函数引用“单词”。也就是说,它在所有空白字符处拆分字符串并返回该列表。它不插值
您只需使用变量“原样”:
qw()
函数与
(q(abc)
)'abc'
(qq(abc)
),以及“abc”
(qx(abc)
)或`abc`
(qr(abc)
):m/abc/
qw(abc)
('a','b','c')
函数引用“单词”。也就是说,它在所有空白字符处拆分字符串并返回该列表。它不插值
您只需使用变量“原样”:
qw()
函数与
(q(abc)
)'abc'
(qq(abc)
),以及“abc”
(qx(abc)
)或`abc`
(qr(abc)
):m/abc/
qw(abc)
('a','b','c')
没错,我不正确地使用了qw()函数。原来我不需要它。谢谢兄弟。你说得对,我不正确地使用了qw()函数。原来我不需要它。谢谢兄弟。
s/\$P\(([a-z0-9A-Z_]+)\)/$db->getValue("params", $1)/e