.xsd で終わるが form.xsd ではない文字列のリストと一致させようとしています。次の正規表現を使用します。
ArrayList<String> files = new ArrayList<String>();
files.add("/abadc/asdd/wieur/file1.form.xsd");
files.add("/abadc/asdd/wieur/file2.xsd");
Pattern pattern = Pattern.compile("(?<!form{0,6})\\.xsd$");
for (String file : files) {
Matcher matcher = pattern.matcher(file);
if(matcher.find())
{
System.out.println("Found >>>> "+file);
}
}
file2 が印刷されることを期待していますが、結果が得られません。私はここで何か間違っていますか?オンラインの Java regEx Tester で同じ式を試してみると、期待どおりの結果が得られますが、プログラムで結果が得られません。