我不是正则表达式中最伟大的,所以将它们从一个lang翻译成另一个lang可能是一项艰巨的任务。
tre = re.compile("///--STRING TEXT ONE. Ends with the word EDIT.(?:.*)--///(?:(?:.*\n))*///--END is the first word in STRING TEXT TWO--///")
result = tre.sub(motionBlur_text, configContents)
如果你们可以帮助我把它移到perl(我听说reg表达式更好),这真的很酷。
答案 0 :(得分:2)
Perl中的正则表达式是相同的:
my $re = qr#///--STRING TEXT ONE. Ends with the word EDIT.(?:.*)--///(?:(?:.*\n))*///--END is the first word in STRING TEXT TWO--///#;
答案 1 :(得分:0)
编译通过qr//
运算符完成。您可以使用(大多数是任意)字符而不是'/'。我将使用大括号,因为这是Perl Best Practices建议的:
my $tre = qr{///--STRING TEXT ONE. Ends with the word EDIT.(?:.*)--///(?:(?:.*\n))*///--END is the first word in STRING TEXT TWO--///};
要就地执行替换(请参阅Regexp Quote-Like Operators):
$motionBlur_text =~ s/$tre/$configContents/g;
要对字符串的副本执行替换,并将其返回(Perl 5.14 +)
my $result = $motionBlur_text =~ s/$tre/$configContents/gr;