我目前有以下内容:
$_[0] =~ s/***regex here***(*SKIP)(*F)|\b($concatenated_variables)\b/\$$1/g;
$concatenated_variables
包含由 a 分隔的变量名称|
。
\b($concatenated_variables)\b
这工作正常,除了,如果找到的匹配项之前已经有一个,我不希望发生替换$
。
例如:
$concatenated_variables = count|a|var3
$_[0] = for count in range(3): print count; print "hello"; ++a
如果我使用:
$_[0] =~ s/(?:['"](?:[^'"]*?(?:\\")*)*["'])(*SKIP)(*F)|(?<!\$)($concatenated_variables)\b/\$$1/g;
我得到:
for coun$t in range(3): prin$t coun$t; prin$t "yayay"; ++$a
而我应该得到:
for $count in range(3): print $count; print "yayay"; ++$a
有没有办法做到这一点?
谢谢你的帮助。