1

我正在做一个项目,我在其中阅读了大量具有相似标题的文档。标题以相同的单词开头和结尾,但开头和结尾之间的单词可能会有所不同。我正在尝试使用 Pattern 和 Matcher 来查找这些,但遇到了麻烦。这是我的代码:

Pattern docHeader = Pattern.compile("HEADER[ ]*:[.\\n\\t ]*header end");

所以标题看起来大致是这样的:

HEADER:

random junk

random junk

header end

Document information start.

我试图在开始擦洗文本之前删除所有标题以节省后端时间。但它永远找不到我的模式。建议?

4

2 回答 2

1

您可以尝试使用此模式作为 RegEx 解决方案:

Pattern docHeader = Pattern.compile("HEADER.*header end",Pattern.DOTALL);
于 2012-10-01T12:06:38.410 回答
0

您可以在一行中执行此操作,而不必使用Patternetc 弄脏自己:

String headlessInput = input.replaceAll("(?s)HEADER.*header end", "");

fyi,正则表达式为正则(?s)表达式的其余部分打开“点匹配换行符”。

于 2012-10-01T12:36:06.320 回答