2013-11-21 24 views
2

嗨我試圖逐行驗證一個CSV工作表。 CSV文件包含: -用JAVA驗證CSV的正則表達式

9,EditTest,expectedResult=nooptionsacltrue 
10,AddTest,features={w;f;r} 
1,AddTest,projectType=new,vtName=28HPM,status=ACTIVE,canOrder=Yes,expectedResult=duplicate 
2,AddTest,projectType=old,vtName=28nm,status=ACTIVE,canOrder=Yes,expectedResult=invalidfeatures 

這裏是我的代碼: -

public class Example { 

    public static void main(String[] args) throws Exception { 

      BufferedReader br = new BufferedReader(new FileReader("testdbcsv/ACL.csv")); 
      while((line=br.readLine())!=null){ 
       String pattern = "^(\\d+),(\\w+),((\\w+)=(\\w+)),((\\w+)=(\\w+)+?"; 
       if(line.matches(pattern)){ 
        System.out.println("pattern matched"); 
       } 
//Code 
} 

但我正則表達式似乎不正確。 任何人都可以請幫助我正確的正則表達式爲CSV。謝謝 。 或者是否有其他方式可以根據模式驗證我的CSV,而不是使用正則表達式?

+0

給定的CSV應該匹配所有行嗎? – Adarsh

+0

是的,但有沒有辦法將csv轉換爲xml並驗證?> – Newbie

+0

我的答案正則表達式可以完成這項工作。 – Adarsh

回答

2

假設第二行驗證失敗,

^(\\d),[A-Za-z]+(,[A-Za-z]+=[A-Za-z0-9]+)+$ 

編輯

這應該與你指定csv所有四行。

^(\\d)+,[A-Za-z]+(,[A-Za-z]+=[A-Za-z0-9{};]+)+$ 
0

試試這個"\\d+,\\w+(,\\w+=\\w+)+"