希望这个重新发布不存在重大问题,我只是需要一些额外的信息,这些信息在第一时间以某种方式滑倒了我的。
在我正在处理的程序中,我尝试接收txt文件,然后打印包含在一对引号中的txt位。
以下是我所拥有的。 (假设我已经接受了txt文件并将其放入一个数组中,每行都作为一个数组元素。)它可以工作,但是如果一行有2个以上的字符串,那么显然它只打印第一个。
打印所有比赛的干净方法是什么?
我尝试遍历$1
,$2
,$3
等,然后打印if ne "";
。但这似乎不起作用。
txt file contents:
Lorem ipsum dolor sit amet
consectetur "adipisicing elit"
sed "do" eiusmod tempor "incididunt"
ut "labore et dolore" magna aliqua
CODE:
foreach(@arr)
{
print "$1\n" if /(".*?")/g;
}
答案 0 :(得分:2)
试试这个:
while ($subject =~ m/"(.*?)"/sig) {
# matched text = $&
}
答案 1 :(得分:0)
使用while循环
foreach (@arr) {
while (/(".*?")/g) {
print "$1";
}
}