我有代码:
$TEMP =~ s/\#NAME\#/$customerName/g;
我使用Regex将#NAME#
替换为$customername
中的值。我想要做的是将一个变量附加到NAME
的末尾。
所以我想做点什么:
$TEMP =~ s/\#NAME . $appendValue\#/$customerName/g;
所以它基本上是:
$TEMP =~ s/\#NAME_1\#/$customerName/g;
这会有效还是有正确的方法来解决这个问题?
测试案例:
答案 0 :(得分:3)
模式插入变量,因此不需要连接运算符:
$TEMP =~ s/#NAME$appendValue#/$customerName/g;
但是,您可能需要保护变量中的特殊字符,因此请使用\Q...\E
:
$TEMP =~ s/#NAME\Q$appendValue\E#/$customerName/g;
#
在正则表达式中并不特殊,因此不需要反斜杠(但它不会受到伤害)。