我需要用Perl编写一个正则表达式,它将在所有srcs前面加上perltexthere/perl,如下所示:
<script src="[perl]texthere[/perl]/text"></script> 有什么帮助吗?谢谢!
发布于 2012-06-29 04:33:11
使用负前视模式(在下面的第三行):
s{
(<script\s+src\s*=\s*[\'"])
(?!https?://)
}{$1\[perl]texthere[/perl]}gsx;发布于 2012-06-29 04:33:24
我可以匹配任何src=“除了http通过:^<script src="(?!(https:)).*$让我知道如果有任何问题,我会解决它。
尝试使用:this website作为正则表达式教程,使用this website测试正则表达式。
发布于 2012-06-29 04:44:17
这应该是可行的:
s{(?<=src=)(?!"https?)}{[perl]texthere[/perl]}测试:
my @olnk = ('<script src=/js/text.text.js/"></script>',
'<script src="https://websitewebsitewebsite"></script>' );
my @nlnk = map {
s{(?<=src=)(?!"https?)}{[perl]texthere[/perl]}; $_
} @olnk;结果:
print join "\n", @nlnk;
<script src=[perl]texthere[/perl]/js/text.text.js/"></script>
<script src="https://websitewebsitewebsite"></script>问候
rbo
https://stackoverflow.com/questions/11252314
复制相似问题