我的程序顯示匹配的結果,但我想按照最佳匹配對結果進行排序,第二最佳匹配等等。正則表達式與短語中的子詞不匹配
我的文本文件包含以下行:
red or yellow
red'
黃」
所以如果我搜索:red or yellow
:我得到下面的結果 'red or yellow
red
yellow
。 所以我希望做的是找到的結果如下排序:
- 「紅色和黃色的」 100%匹配
- 「紅色」 40%的比賽
- 「黃」 40%的匹配
任何幫助表示讚賞。我的代碼如下:
public static void main(String[] args) {
// TODO code application logic here
String strLine;
try{
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream("C:\\textfile.txt"");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
Scanner input = new Scanner (System.in);
System.out.print("Enter Your Search: "); // String key="red or yellow";
String key = input.nextLine();
while ((strLine = br.readLine()) != null) {
Pattern p = Pattern.compile(key); // regex pattern to search for
Matcher m = p.matcher(strLine); // src of text to search
boolean b = false;
while(b = m.find()) {
System.out.println(" " + m.group()); // returns index and match
// Print the content on the console
}
}
//Close the input stream
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
供將來參考 - 請在問題標題中描述您的問題。諸如「我有問題」或其衍生詞的標題對讀者來說無助! –