如何在Perl中替换任意固定的字符串?
|
我想使用Perl在另一个字符串中替换固定的字符串。这两个字符串都包含在变量中。
如果替换后的字符串不可能包含任何正则表达式元字符,则可以执行以下操作:
my $text = \'The quick brown fox jumps over the lazy dog!\';
my $search = \'lazy\';
my $replace = \'drowsy\';
$text =~ s/$search/$replace/;
las,我希望它适用于任意固定的字符串。例如。这应该使ѭ1保持不变:
my $text = \'The quick brown fox jumps over the lazy dog!\';
my $search = \'dog.\';
my $replace = \'donkey.\';
$text =~ s/$search/$replace/;
而是用donkey.
代替this3ѭ,因为点与感叹号匹配。
假设变量内容本身未进行硬编码,例如它们可以来自文件,也可以来自命令行,是否有办法引用或标记变量的内容,以使它们在此类替换操作中不解释为正则表达式?
还是有更好的方法来处理固定字符串?最好还是能让我使用类似regex的功能(例如锚或反向引用)?
没有找到相关结果
已邀请:
3 个回复
漂截嘘
移至
:
不幸的是,这将不允许您使用其他正则表达式功能。如果您有一些想要逃避的功能,也许您可以通过第一个“ cleaning”正则表达式或函数来运行
,例如:
玩翁文醚碱
藕挝