逐行读取文件并进行正则表达式验证

时间:2017-11-16 14:13:18

标签: java regex validation delimiter

验证天气的正确方法是什么,导入的文本文件与此文本块匹配,由Regex逐行

  • 标题:编码所需的努力
    • YLabel:努力
    • XLabel:行
    • XStart:0
    • XInterval:2500
    • 0,100,200,400,700,1024

例如:我尝试用这个正则表达式语法来检查第一行,即(标题:编码所需的努力),但表达式不正确

 public Boolean fileValidation(String input){
    boolean bool = input.matches("^Title(?=.*:) [a-zA-Z]");


     if(bool == true){
         JOptionPane.showMessageDialog(this, "Valid File", "Valid", JOptionPane.INFORMATION_MESSAGE);
     }else if(bool == false){
         JOptionPane.showMessageDialog(this, "Invalid File", "Invalid", JOptionPane.ERROR_MESSAGE);
     }
     return bool;

}

这是我逐行读取所选文本文件的代码

try {
        Scanner scan = new Scanner(file);

        String info = "";

        while(scan.hasNext()){

            info += scan.nextLine() + "\n";
            readtxt.setText(info);
            fileValidation(info);

        }

    } catch (Exception e) {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:1)

String s = "Title: Effort required for coding";

System.out.println(s.matches("^Title(?=.*:): [a-zA-Z ]+"));

空白和其他字符串的+都丢失了。