我有一个文件,其中的行包含一些模式,
`XX3 DB3 DBB1 VDD VSS VSSS VDDS逆变器参数:ln = .045u wn = 0.5 mm = mm'
`XX4 DBB1 DB3 VDD VSS VSSS VDDS逆变器参数:ln = .045u wn = .12u
`XX14 DBB1 DB_TBY VDD VSS VSSS VDDS逆变器参数:Mpar =(Something))
我需要将这些行替换为
`XX3 DB3 DBB1 VDD VSS VSSS VDDS逆变器
`XX4 DBB1 DB3 VDD VSS VSSS VDDS逆变器
`XX14 DBB1 DB_TBY VDD VSS VSSS VDDS逆变器
我想删除params之后的所有内容,可以是任何内容,直到换行符为止。
foreach(@lines){
$_ =~ s/params: .*?[a-z,A-Z,),0-9,mm,m]'/ /g;}
但是这里所有内容都在删除,但应该以'结尾。由于我不知道所有模式都可以存在,因此这项技术是不可能的。
答案 0 :(得分:2)
看起来您的正则表达式太复杂了(因此很可能是错误的)。如果您想删除params:
之后的所有内容,只需这样做。
for (@lines) {
s/params:.+//;
...
}
答案 1 :(得分:1)
如果要在单引号末尾加注,请执行以下操作:
for (@lines) {
s/params:.+/'/;
...
}