【发布时间】:2019-10-02 04:59:37
【问题描述】:
我有一个文件,其中一些行有一些模式,如
M1/XX2/XX1 XX2/XX1/XX2/WCLKB XX2/XX1/XX2/P001
M1/XX4/XX5 XX4/XX5/XX4/WCLKB XX4/XX5/XX4/P001
这里在某些模式中 XX2 是重复的。我需要将上面的行更改为
M1/XX2/XX1 XX1/XX2/WCLKB XX1/XX2/P001
M1/XX4/XX5 XX5/XX4/WCLKB XX5/XX4/P001
这些 XX 可以变化 XX[0..9] 代码在 Perl 中。
我尝试使用一些正则表达式但很困惑。
open(FILE,$FilePath);
@linesInFile = <FILE>;
close(FILE);
foreach $item(@linesInFile){
if(grep(/^XX?\/XX.\/XX)
#I dont know how to complete this
}
【问题讨论】:
-
作为一个新的 SO 用户,我建议你阅读How to ask,特别是How to create a Minimal, Complete, and Verifiable example,这样它可以帮助其他人,反过来他们也可以帮助你,否则你的帖子可能会被否决(虽然我没有对你的帖子投反对票)并关闭了。
-
那么如果一个单词以
XX[0..9]/开头,你想从单词中删除那部分吗?
标签: regex perl pattern-matching file-handling regex-negation