2015-12-03 47 views
-3

我有以下数据。在java中使用正则表达式匹配多列同一列

00001* FI SN3623 FO SN3624 OOSSD* 10.06.2015* 1.00* 154,00* 0* 
    * WO 74985     * 

我想用正则表达式表达选择这个数据:

FI SN3623 FO SN3624 OOSSD WO 74985

这可能吗?怎么样? 数据以文本文件的格式显示。我想从第二列中提取数据作为一个组。 *表示下一列。 * WO 74985 *此数据在第二行。但我仍然希望在第一行第二列的数据组中选择它。 总之我想要第一行第二列和第二行第二列的数据在一起。

+0

请格式化你的代码,这是不可读。 – maxhb

+0

小心解释我们应该选择这些值的标准是什么? – TheLostMind

+0

您的数据是否固定宽度/长度?在这种情况下,你可能不需要任何正则表达式 –

回答

0

这可以做到这一点,如果你真的想用正则表达式:

Matcher m = Pattern.compile(".*?\\*\\s*(.*?)\\s*\\*.*[\r\n]+.*?\\*\\s*(.*?)\\s*\\*").matcher(input); 
if (m.matches()) { 
    System.out.println(m.group(1) + " " + m.group(2)); 
} 
+0

安德烈亚斯这是我想要的。非常感谢。 – Rajan