从文件regex中提取与给定模式匹配的段落

时间:2013-11-15 17:23:23

标签: java regex file-io

我有一个巨大的文本文件,其中包含大约5000条以这种形式发表的评论:

  

D123456 \ tPOS / NEG \ n多行文字到此处。 \ n   D654321 \ tPOS / NEG \ n多行文字到此处。 \ n

......等等。

我需要逐一提取它们。我发现了这个:  Best way to extract specific paragraph from file data,它有点帮助(使用模式,匹配器)。所以我的正则表达式应该是这样的:

  

d [0-9] {6} \吨(POS | NEG)\ N * \ n

但这不正确。应该怎么样?通过单词:以'D'开头然后是六个数字然后是一个标签,然后是POS或NEG,然后是新行,然后基本上是新行。

2 个答案:

答案 0 :(得分:0)

这个正则表达式:

(?s)D[0-9]{6}\\t(POS|NEG.*?\n\n

答案 1 :(得分:0)

D[0-9]{6}\t(POS|NEG)\n(.*?\n?)*?(?=D[0-9]{6}|$)

我不确定是什么将每个评论分开,所以我将它与“多行文本”匹配为直到下一个D000000数字或文件末尾的任何内容。

Working on regexpal