说,我有类似的行:
SOMETHING.AA.AA.DARKSIDE BLaH.AA.AA.Blah
我想找到每行$ $ = $ 1; $ after = $ 2; $ middle =“AA” 例如,对于第1行,我得到:
$before= “SOMETHING.”
$After = “.AA.DARKSIDE”
还
$before= “SOMETHING.AA”
$After = “.DARKSIDE”
我的代码如下所示:
$middle = “AA”;
foreach (@lines){
$line = $_;
while ($line =~m/^(.+)$middle(.+)$/g){
$before = $1;
$after = $2;
}
}
有一种简单的方法来改变我的正则表达式吗?
PS:$middle
将是一个变量,因此我无法对其进行硬编码。
谢谢你的帮助。
答案 0 :(得分:0)
为什么要使用正则表达式呢?
($before, $after) = split(/$middle\.$middle/, $line);
然后每次使用$before
和$after
一次,$middle
分别连接到字符串的结尾和开头。