2014-11-06 91 views
-2

我有一系列的匹配這個格式正則表達式與Java,多行

724280 141105/1300 1022.90 992.20 8.44 282.80 0.00 51.00 
0.00 0.00 284.70 100.00 0.00 100.00 
0.00 0.80 0.90 0.00 0.01 7.94 
5.81 0.00 0.00 0.00 0.00 11.10 
-8.70 39.40 -0.02 999.00 471.90 20.00 
5.68 

什麼是正則表達式我會用它來找到這些塊(通常有關於他們的84文檔中),其阻斷?

澄清: 這是一個六線塊

Integer Integer"/"Integer Double Double Double Double Double Double 
Double Double Double Double Double Double 
Double Double Double Double Double Double 
Double Double Double Double Double Double 
Double Double Double Double Double Double 
Double 
+0

你試過了什麼? – 2014-11-06 15:49:18

+0

你能澄清一下'這種格式'嗎?一堆數字可能是任何事物的格式。以及你想用什麼方面使用正則表達式來解決這個問題? – HuStmpHrrr 2014-11-06 15:51:57

+0

@ HuStmpHrrr一個正則表達式,可以在大文件中找到確切的塊 – 2014-11-06 15:56:00

回答

2

我是初學者。可能是這樣的: -?\d+\s+-?\d+\/-?\d+\s+(-?\d+\.\d+(\s+)?){31}

說明

-?\d+ - 整數

\s+ - 空間

-?\d+\/-?\d+ - 整數如int/INT

\s+ - 空間

(-?\d+\.\d+(\s+)?){31} - 31雙打

+0

'(\ s +)?'表示「可選一個或多個空格」,因此可以簡化爲\ s *'。然而,無論如何,簡單地'\ s +'可能會更好,因爲每個double之間應該有空格(「換行符」被視爲空格),除了可能會在文件中的最後一個'double'失敗之外。 – ajb 2014-11-06 17:30:24