如何用perl中的空格替换文件行中的某些模式?

时间:2019-05-13 07:27:03

标签: regex file perl

我有一个文件,其中包含一些内容,例如, 按y ='接受' 按y =“嘿那里”

我需要使用y ='something'清除所有这些模式? 如何使用perl做到这一点?

过去,我尝试过

foreach(@lines) {
     $_ =~ s/y='*/ /g;
    }

但这只是在模式之后替换单个字符

我不确定以下模式或以下模式的长度,但是是否需要替换'y =模式之后的所有内容? 前提是y =不在行首

1 个答案:

答案 0 :(得分:2)

这是我尝试过并正在为我工​​作的

#!/usr/bin/perl

my $str = "press y ='Accept' press y ='hey there'";
$str =~s/y ='.*?'/ /g;
print $str;

这是从“ y ='”到第一个匹配的单引号的匹配,即它是非贪婪匹配的正则表达式。