我的专栏:
producător: Carlo Ponti director de imagine: Piero Poletto monteur: Adriana Novelli Distribuţia: Faye Dunaway (Julia) Marcello Mastroianni (Valerion) Caroline Mortimer (Maggie)
我想分开:
producător: Carlo Ponti
director de imagine: Piero Poletto
monteur: Adriana Novelli
Distribuţia: Faye Dunaway (Julia) Marcello Mastroianni (Valerion) Caroline Mortimer (Maggie)
行数可能不同。 我尝试使用Lookbehind Zero-Width Assertions:
split /(?=\S+:\s*)/, $line
如果行在冒号之前包含多于一个单词(两个或三个或更多)('导演想象:''摄影指导:''艺术总监:'等)这个分裂线在:
producător: Carlo Ponti director de
imagine: Piero Poletto
monteur: Adriana Novelli
Distribuţia: Faye Dunaway (Julia) Marcello Mastroianni (Valerion) Caroline Mortimer (Maggie)
答案 0 :(得分:2)
你没有给我们任何分割线条的标准,除了这些看似随意的“标题”。除了最后一个,所有标题似乎都是小写的。
因此我假设您的标题是静态的,并建议如下:
$line =~ /producător: (.*?) director de imagine: (.*?) monteur: (.*) Distribuţia: (.*)/;
print "producător: $1\n";
print "director de imagine: $2\n";
print "monteur: $3\n";
print "Distribuţia: $4\n";
如果您可以为拆分提供更多有用的标准,我可以提供更好的答案。