【发布时间】:2017-11-16 14:13:17
【问题描述】:
通过正则表达式逐行验证导入的文本文件是否与此文本块匹配的正确方法是什么
- 标题:编码所需的努力
- Y标签:努力
- 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){
JOptionPane.showMessageDialog(this, "Valid File", "Valid", JOptionPane.INFORMATION_MESSAGE);
}else{
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();
}
【问题讨论】:
-
在我看来,所有的行都是有效的。
-
究竟需要验证什么?什么匹配或不匹配?你尝试了什么?
-
If (bool == true) ...else if (bool == false)至少这可以写得更好。 -
我是编程新手
标签: java regex validation delimiter