私のコンピュータに(ANSI)テキストファイル(filters.txt)があります。各行には正規表現があります。Readlineと正規表現の照合に問題があります
私のメインでは、私はRSSフィードをループします。各アイテムはfilters.txtで一致するかどうかを確認する別のメソッドに渡されます。
問題は何も一致していないようです。
- 私はメソッドに渡している文字列が正しいです(テスト)
- 私の正規表現はfilters.txtから入力
- (テスト)正しいですが、テキストファイルと同じように、「そうです」
- おそらく改行などでパターンが一致していますか?これを行うには、テキストファイルを読むために他のツールを使用する必要がありますか?
は、ここに私のメソッドのコードです:
public static boolean filtermatch(String rsstitle) {
boolean result = false;
try {
BufferedReader br = new BufferedReader(new FileReader("filters.txt"));
String strLine;
while ((strLine = br.readLine())!= null && result == false) {
if(Pattern.matches("(?i)" + strLine, rsstitle)) {
result = true;
}
}
br.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
return result;
}
EDIT: は、私だけが今にしたフィルタ:
\\[HorribleSubs\\].*Chihayafuru.*
は、「[HorribleSubs]ちはやふる一致する必要があります - 12 [720Pを] .mkv "それはまだありません。それは私がプログラムで正規表現を定義しても、それにマッチします。
例を参考にしてください。 –
追加されました。< – lelouch
'新しいFileReader(" filters.txt "、" Cp1252 ")は、ファイルがWindowsコードページ1252、Latin1のWindowsの変形であることを明示的に述べています。これで、オペレーティングシステムのデフォルトが使用されます。 –