輸入文本的文本文件的內容具有內容如下:驗證使用正則表達式
TIMINCY ........許多任意字符含。空格和製表符
細節........許多任意字符incl。空格和製表符
細節........許多任意字符incl。空格和製表符
細節........許多任意字符incl。空格和製表符
。
。
。 (任何數量的行包含DETAILS)
TIMINCY ........許多任意字符incl。空格和製表符
細節........許多任意字符incl。空格和製表符
細節........許多任意字符incl。空格和製表符
細節........許多任意字符incl。空格和製表符
。
。
(等等)
Q:我需要使用正則表達式來驗證文件,以便如果該文件的內容是不 按照相對於上述然後我可以拋出CustomException給出的圖案。
請讓知道,如果你能幫助。任何幫助熱烈讚賞。
String patternString = "TMINCY"+"[.]\\{*\\}"+";"+"["+"DETAILS"+"[.]\\{*\\}"+";"+"]"+"\\{*\\}"+"]"+"\\{*\\};";
Pattern pattern = Pattern.compile(patternString);
String messageString = null;
StringBuilder builder = new StringBuilder();
try (BufferedReader reader = Files.newBufferedReader(curracFile.toPath(), charset)) {
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
builder.append(NEWLINE_CHAR_SEQUENCE);
}
messageString = builder.toString();
} catch (IOException ex) {
LOGGER.error(FILE_CREATION_ERROR, ex.getCause());
throw new BusinessConversionException(FILE_CREATION_ERROR, ex);
}
System.out.println("messageString is::"+messageString);
return pattern.matcher(messageString).matches();
但它是正確的文件返回FALSE。請幫我用正則表達式。
* CORRECTION ::,我使用的模式是:字符串patternString = 「[」 + 「TMINCY」 + 「[] \\ {* \\}」 + 「」 +「[ 「+」 詳情 「+」 \\ {* \\} 「+」[。]; 「+」] 「+」 \\ {* \\} 「+」] 「+」 \\ {* \\}; 「;而且,錯過了提到以下內容:private static final String NEWLINE_CHAR_SEQUENCE =「;」; – saiD
編輯您的帖子,而不是寫評論。你真的需要使用REGEX嗎?你爲什麼不在循環中逐行閱讀? – jeanr
強制性:https://xkcd.com/1171/ – jdv