使用CAM :: PDF解析.pdf文件时的正则表达式问题

时间:2011-05-19 05:20:10

标签: perl pdf

无与伦比[正则表达式;标记为< - HERE in m /< - HERE / at ./pdf_parse.pl第37行。

实际上我正在逐字解析.pdf文件[为了从中制作字典] 第37行: -

if(grep(!/$word/,@line_rd)){
}

解析器脚本停止工作的实际单词是用不同的字体[在我正在解析的pdf中],这是罪魁祸首吗?
CAM :: PDF是否识别不同字体的单词?我该怎么做才能阻止这个!

1 个答案:

答案 0 :(得分:2)

如果它可以包含特殊字符(例如$word或甚至[),则需要在正则表达式中引用.。试试:

if (grep(!/\Q$word\E/, @line_rd)) {
  ...
}

如果您想制作所有单词的字典,请使用哈希:

my %allwords;
...
  # each time you have a new word incoming from the parser:
  $allwords{$word}++;

最后,%allwords哈希将包含不同的单词作为键,单词count作为值。你可以,例如使用以下方式打印:

map {
 print "Word $_: count: ", $allwords{$_}, "\n";
} (sort keys %allwords);