首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用regex提取两种模式之间的动态单词串

如何使用regex提取两种模式之间的动态单词串
EN

Stack Overflow用户
提问于 2020-08-12 17:42:35
回答 1查看 39关注 0票数 0

我一直在试图从发票中提取一串(动态的)单词。因为这是产品的描述,所以每一张发票都会发生变化。我试着使用产品编号和查找,但这并不总是有效的,因为在同一张发票中还有其他6-8数字号,有没有办法设置6-8数字号和前面的日期作为参考呢?

代码语言:javascript
运行
复制
Description Productnumber Delivery Amount VAT Price excl. Price incl. Value excl. Value incl.
BenQ XL2430T (24", 1920 x 1080 Pixels) 2774800 21.11.2014 1 8.00% 323.15 349.00 323.15 349.00
LG Nexus 5X (32GB, Quarz, 5.20", Single SIM, 12.30Mpx, 4G) 5636609 03.03.2016 1 8.00% 276.85 299.00 276.85 299.00

所以在这个案子里我想提取的是

  1. BenQ XL2430T (24",1920 x 1080像素)
  2. LG Nexus 5X (32 4G,夸兹,5.20",单SIM,12.30Mpx,4G)

这是可能的还是我在尝试不可能的事?

至于目前为止的代码,我使用以下方法提取产品编号:

代码语言:javascript
运行
复制
\b\d{6,7}(?=\s+(?:0[1-9]|[12]\d|3[01])\.(?:0[1-9]|1[0-2])\.[12]\d{3})

但我就是不能把它包括在产品编号上.

(这也只给出了第一个结果,我也需要提取第二个产品代码)

希望这是可以理解的,希望有人能帮上忙。

  • cheers
EN

回答 1

Stack Overflow用户

发布于 2020-08-13 09:53:16

代码语言:javascript
运行
复制
^(?!Description Productnumber)[\w\s(?,".]+\)?\s(?=[\d]{6,8})

演示和解释使用的regex语法:

https://regex101.com/r/HBvG3K/5

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63382017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档