我试图找到解析一条线,像这样的最佳方式:提取第n次出现Perl的正则表达式
Explicit|00|11|Hello World|12 3 134||and|blah|blah|blah
我只是要提取的第6和第7竖线之间的东西|
我想是这样
if ($line =~ /^(.*\|){6}(\w*)\|/) {
print $2;
}
的问题是,第一部分似乎是相匹配的最长序列可能因为.*
,也许是不同的东西,我应该使用。在竖条之间,有字母数字字符,空格和标点符号。
我应该匹配他们之间最短的?
为什么不只是分割“|”? – Shurdoof 2010-12-19 08:13:27
你说得对。我想我刚刚玩了一段时间的正则表达式,所以我甚至没有想过使用其他函数:) – MCH 2010-12-19 08:23:14