regex - 正则表达式所有发票项目描述
问题描述
我正在尝试对发票中的所有项目(名称、单价、总额、增值税等)进行正则表达式。设法获取有关数字的所有信息,但最大的问题是提取项目描述,因为有时它位于两条单独的行上。这就是我需要正则表达式
1 Agrafe metalice Eco, rotunjite, 33 mm, 50 buc/cutie buc. 30.00 0,76 22,80 4,33
(SOBO604)
2 Banda corectoare DONAU Mouse, 5 mm x 8 m, orizontala, buc. 5.00 4,83 24,15 4,59
blister (7635001PL-99)
3 Biblioraft plastifiat OFFICE Products, 5 cm, colturi buc. 75.00 5,08 381,00 72,39
metalice, albastru (21011121-01)
4 Burete magnetic DONAU, 110 x 57 x 25 mm, galben buc. 10.00 5,53 55,30 10,51
(7638001PL-99)
5 Calculator de birou Canon WS-1610T, solar, 16 cifre, buc. 1.00 71,11 71,11 13,51
afisaz inclinat, format mare (WS1610T)
6 Capse zincate OFFICE Products 24/6, 1000 buc/cutie buc. 5.00 1,12 5,60 1,06
(18072419-19)
7 Creion grafic Eco, ascutit, cu radiera, corp verde buc. 20.00 0,40 8,00 1,52
(SOIS432)
8 Creion mecanic BIC Matic, 0.7 mm (601021) buc. 4.00 1,88 7,52 1,43
9 Dosar din plastic cu sina si doua perforatii OFFICE buc. 250.00 0,35 87,50 16,63
Products, albastru (21104211-01)
10 Dosar din plastic cu sina si doua perforatii OFFICE buc. 100.00 0,35 35,00 6,65
Products, roz (21104211-13)
pagina 1 / 3
797638
11 Folie protectie OFFICE Products, A4, coaja portocala, 40 buc. 5.00 6,53 32,65 6,20
microni, 100 file/set (21141215-90)
12 Folie protectie OFFICE Products, A4, coaja portocala, 40 buc. 20.00 6,51 130,20 24,74
microni, 100 file/set (21141215-90)
13 Marker whiteboard Eco, varf rotund, albastru (SOIS535A) buc. 104.00 1,33 138,32 26,28
14 Marker whiteboard Eco, varf rotund, negru (SOIS535N) buc. 2.00 1,33 2,66 0,51
15 Marker whiteboard Eco, varf rotund, rosu (SOIS535R) buc. 2.00 1,33 2,66 0,51
16 Notite adezive OFFICE Products, 51 x 76 mm, galben pal, buc. 5.00 1,65 8,25 1,57
100 file (14047511-06)
17 Organizator de birou DONAU Clasic VII, 6 compartimente, buc. 2.00 30,67 61,34 11,65
155 x 105 x 101 mm, transparent (7476001-99)
18 Panou din pluta Bi-Office, 60 x 90 cm, rama lemn buc. 1.00 32,96 32,96 6,26
(GMC070012010)
19 Pioneze color Eco, tinte pentru pluta , 40 buc/cutie buc. 1.00 2,16 2,16 0,41
(SOBO612)
20 Pix fara mecanism Eco, varf de 1 mm, albastru (SOIS405A) buc. 110.00 0,33 36,30 6,90
21 Plic C4 (229 x 324 mm), alb, siliconic, 10/set buc. 2.00 2,15 4,30 0,82
(15223619-14)
22 Tus pentru stampila Pelikan, cu picurator, 28 ml, negru buc. 1.00 6,93 6,93 1,32
(351197)
请注意,项目描述有时位于总价之后。问题是项目之间的空间不均匀,它是可变的,例如位置 8 和 9 几乎是相连的,而位置 20 和 21 之间有很多空间。
有人帮助我,只得到了第一行使用
\d{1,2}(.*)(\d+\.\d+\s+)(\d+\,\d+\s{0,1}){3}
由于语法不均匀,这就是我陷入困境的地方。
它只得到第一行。例如:''' 16 Notite adezive OFFICE Products,51 x 76 mm,galben pal,buc。5.00 1,65 8,25 1,57
100 文件 (14047511-06) ''' 它只有16 Notite adezive OFFICE 产品,51 x 76 毫米,galben pal,buc。5.00 1,65 8,25 1,57但不是100 文件 (14047511-06)。完整的发票说明是Notite adezive OFFICE Products, 51 x 76 mm, galben pal, 100 file (14047511-06)当从 pdf 转换为文本时,这就是我获取文件的方式。
还需要提取最后一部分并合并第一个以获得完整的项目描述。
谢谢
解决方案
推荐阅读
- reactjs - 反应:npm更新的依赖关系错误
- java - 包装列表的自定义验证抛出 UnexpectedTypeException: HV000030
- html - NoSuchMethodError: 创建新用户时尝试调用非函数,如 null: 'dart.global.firebase.auth'
- reactjs - 登录后 React/Apollo 获取查询
- r - R:devtools::document 错误:依赖包'dplyr','tidyr'不可用
- windows-installer - 如何使执行别名在 Windows Server 2019 上工作?
- c# - KeyAvailable 不会重置为 false
- nginx - 从另一个网络(nginx/gunicorn)访问在家庭服务器上运行的烧瓶应用程序
- grails - Grails - 选择和保存之间的不同日期
- html - 没有 Javascript 的汉堡包下拉菜单