使用正则表达式如何根据其位置拉一个单词

时间:2012-07-30 17:17:59

标签: regex

我正在使用Web ripper从我的客户站点提取信息并将其发布到分类广告网站。 我遇到的问题是,年份模型和制作都在一条线上,我需要将它们分开。

示例2005 Acura MDX Touring 我需要在4个单独的领域中拥有它

  • 2005年
  • make acura
  • model mdx
  • 风格旅游

使用网络开膛手我可以在内容转换中使用正则表达式代码

所以当我输入

  • \w+我得到2005
  • \w(?<!\d)[\w'-]*我得到了Acura

我需要并且非常欣赏正确的正则表达式代码来获取第三个单词和第四个单词

非常感谢

1 个答案:

答案 0 :(得分:1)

我不熟悉Web开膛手,但你应该能够利用捕获组来使这个变得相当简单:

(\w+)[ \t]+(\w+)[ \t]+(\w+)[ \t]+(\w+)

现在年份将在捕获组1中(通常为\1$1),make将在捕获组2中等等。

我使用[ \t]+而不是\s+来确保您不会抓取换行符,如果肯定只有一个空格可以简化此行。