and*_*l73 6 regex perl capture
我有一个Perl脚本,它读取正则表达式搜索并替换INI文件中的值.
这工作正常,直到我尝试使用捕获变量($ 1或\ 1).这些用$ 1或\ 1替换.
任何想法如何让这个捕获功能通过变量传递正则表达式位?示例代码(不使用ini文件)...
$test = "word1 word2 servername summary message";
$search = q((\S+)\s+(summary message));
$replace = q(GENERIC $4);
$test =~ s/$search/$replace/;
print $test;
Run Code Online (Sandbox Code Playgroud)
这导致......
word1 word2 GENERIC $4
Run Code Online (Sandbox Code Playgroud)
不
word1 word2 GENERIC summary message
Run Code Online (Sandbox Code Playgroud)
谢谢
使用双重评估:
$search = q((\S+)\s+(summary message));
$replace = '"GENERIC $1"';
$test =~ s/$search/$replace/ee;
Run Code Online (Sandbox Code Playgroud)
注意在$replace和ee结尾的双引号s///.
| 归档时间: |
|
| 查看次数: |
7637 次 |
| 最近记录: |