[已解决]正则表达式的替换问题,恳请各位达人帮忙

[已解决]正则表达式的替换问题,恳请各位达人帮忙

1111111
<!--repeat-->
jobname
<!--repeat-->
2222222
<!--repeat-->
joblocation
<!--repeat-->
3333333

请问:如何将“jobname”替换为“职位名称”,“joblocation”替换为“工作地点”

我自己写了一个,但是不对。请各位达人帮忙。

把你写的发出来看看,直接要答案是不礼貌的。


QUOTE:
原帖由 __lxmxn__ 于 2007-12-11 12:40 发表
把你写的发出来看看,直接要答案是不礼貌的。

对头
s/(<!--repeat-->).*?(<!--repeat-->.*?<!--repeat-->.*?<!--repeat-->)/$1职位名称$2/gsi

s/(<!--repeat-->.*?<!--repeat-->.*?<!--repeat-->).*?(<!--repeat-->)/$1工作地点$2/gsi

拿不出手
直接
s/jobname/职位名称/g;
s/joblocation/工作地点/g;
不行么?
既然是模板文件,则要到处理该模板的perl脚本里去做替换。
恩。是的。问题在于我写的替换规则不正确
s/(<!--repeat-->).*?(<!--repeat-->.*?<!--repeat-->.*?<!--repeat-->)/$1职位名称重复$2/gsi

s/(<!--repeat-->.*?<!--repeat-->.*?<!--repeat-->).*?(<!--repeat-->)/$1工作地点重复$2/gsi
不知是不是这个意思:

my $s = "<div>
职位名称开始:
<!--repeat-->
<span>jobname</span>
<!--repeat-->
工作地点开始:
<!--repeat-->
<span>joblocation</span>
<!--repeat-->
</div>";
$s =~ s/(\Q<!--repeat-->\E).*?(\Q<!--repeat-->\E)/${1}\nAAA\n${2}/gs;
print $s;
感谢各位的帮助。
楼上:
<span>jobname</span>

<span>joblocation</span>
对应的是不同的内容。
5楼的方法,难道不可行?