Попробуйте следующее регулярное выражение:
$data =~ s/
(?<! # negative look-behind
\( # ensure no open parenthesis behind
)
' # a quote mark
(?! # negative look-ahead
\) # ensure no close parenthesis ahead
)
/\\'/xsg;
Это займет вашу вторую строку:
document.writeln('» <a href="/LINK2" TARGET="_blank">Lorem ipsum lor'em x em 2</a><br>');
и вывод:
document.writeln('» <a href="/LINK2" TARGET="_blank">Lorem ipsum lor\'em x em 2</a><br>');
Простой скрипт может быть:
while ( <> ) {
$_ =~ ... # regular expression given above
print $_;
}
Вы запустите это, набрав:
perl myscript.pl file.js