正则表达式从产品列表中查找模型

时间:2017-10-10 00:54:00

标签: regex

我正在尝试从产品标题列表中检索产品模型。

由于很难从标题中检索模型,所以我决定从获得带有大写字母和数字的子串开始(它也可以包含特殊字符,但它们不是必需的)。

一些例子是:

  • Apple iPhone 8 Plus 64GB Tela Retina 5.5" 12MP / 7MP iOS 11 - Prata
  • 智能电视QLED de 55"三星 QN55Q7FAMP com HDMI / USB / Wi-Fi Bivolt
  • 智能电视QLED de 65"三星 QN55Q7FAMP com HDMI / USB / Wi-Fi Bivolt
  • MEMORIA DDR4 CRUCIAL 16GB / 2400 CRUCIAL BLS16G4D240FSE BALLISTIX S
  • MEMORIA DDR4 CRUCIAL 16GB / 2400 CRUCIAL BLS16G4D240FSB BALLISTIX S
  • MEMORIA DDR4 CRUCIAL 16GB / 2400 CRUCIAL BLS16G4D240FSC BALLISTIX S
  • MEMORIA DDR4 CRUCIAL 16GB / 2400 CRUCIAL CT16G4DFD824A (SIN BLISTER
  • Projetor LG MiniBeam PW1500G 1500流明WXGA(1280x800)HDMI / USB

我知道其中很多都会被错误捕获。为了避免一些错误,我在构建一个要忽略的字符串字典(如DDR4,xxGB等等)

我开始尝试使用this。我得到大写和/或数字的单词。如何获得带有两个字母(大写字母和数字)和特殊字符的单词(如果它们在那里就可以,但它们不是必需的。)

这是我解决问题的第一种方法。当然,使用或不使用正则表达式的其他解决方案将非常受欢迎。

1 个答案:

答案 0 :(得分:1)

也许尝试匹配包含至少一个大写字母和一个数字的块? 所以这样的事情确保中间至少有一个资本和一个数字。您需要使用'或'来使其以其他方式工作。

.+ ([A-Z1-9]*[A-Z]+[0-9]+[A-Z1-9]*) .+