Perl的关键词
问题描述:
好了,让我们说我有一个文件,我阅读下列之间搜索出于某种原因,我只得到Perl的关键词
foobarbar
我使用下面的代码:
if (/File([\s\S]+?)xml/) {
$key= $1;
print OUTPUT "$key\n"
}
注意:在上面的代码中,$key
设置为$number one
,而不是$lower case letter L
。任何帮助将不胜感激!
答
该正则表达式只有第一个文件相匹配,使用/ G修饰符来获取所有匹配
while (/File:(.*)\.xml/g) {
$key = $1;
print OUTPUT "$key\n";
}
+0
假设你已经把整个文件变成了'$ _',这不是通常的情况。 – Borodin 2012-07-26 10:05:43
+0
那么他没有具体说明他是如何阅读这个文件的。如果他把所有东西都嗅到了$ _,他可以使用我的解决方案。否则,他可以使用perreal的解决方案。 – 2012-07-26 13:35:05
答
下面的代码工作,当您逐行读取输入行预计:
while(<>) {
if (/File:([\s\S]+?)\.xml/){
$key= $1;
print "$key\n";
}
}
顺便说一句, '/ [\ s \ S] /'与'/./ s'相同 – ikegami 2012-07-25 20:07:13