近日用pdfminer3k处理pdf表格,文本提取不完全,经调试发现在处理'\\'字符串时判断转义和非转义有误,本想提交bug,却发现好久未更新了,也没提供提交渠道,只能暂记如下。
在pslexer.py文件中,词法分析进入instring状态后,找到括号要先判断是否被转义了,原来只是简单判断其前一个词是以'\'结尾,没有考虑共有奇数个还是偶数个反斜线,如果实际上是偶数个则并未被转义。修改t_instring_contents统计反斜线个数判断后一个字符是否被转义并记录到t.lexer.is_escaped中,在t_instring_lparn 和t_instring_rparn中访问并重置为false。
解决问题。
后记 为了查找出问题所在,硬是把 yacc 和 lexer 好好学习了一翻。可以做词法和语法分析了,收获挺大。
阅读(2086) | 评论(0) | 转发(0) |