我有一个包含以下形式荟萃URL的文本文件:如何匹配文本文件中的模式列表中的url?
http://www.xyz.com/.*services/
http://www.xyz.com/.*/wireless
我想从这个文件中的模式与我的URL进行比较,如果我找到一个匹配执行相应的操作。这个匹配过程对我来说很难理解。
假设splitarray [0]包含文本文件的第一行:
String url = page.getWebURL().getURL();
URL url1 = new URL(url);
我们如何能够比较URL1与splitarray [0]?
修订
BufferedReader readbuffer = null;
try {
readbuffer = new BufferedReader(new FileReader("filters.txt"));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String strRead;
try {
while ((strRead=readbuffer.readLine())!=null){
String splitarray[] = strRead.split(",");
String firstentry = splitarray[0];
String secondentry = splitarray[1];
String thirdentry = splitarray[2];
//String fourthentry = splitarray[3];
//String fifthentry = splitarray[4];
System.out.println(firstentry + " " + secondentry+ " " +thirdentry);
URL url1 = new URL("http://www.xyz.com/ship/reach/news-and");
Pattern p = Pattern.compile("http://www.xyz.com/.*/reach");
Matcher m = p.matcher(url1.toString());
if (m.matches()) {
//Do whatever
System.out.println("Yes Done");
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
匹配工作正常......但是,如果我想这里面有图案的splitarray给予启动任何网址[0],然后做到这一点......我们如何能够实现这...在上面的情况下,它不匹配,但这个网址http://www.xyz.com/ship/w
是从这种模式只http://www.xyz.com/.*/reach
因此,任何网址,以这种模式开始..只是在if循环中做这件事...任何建议将不胜感激。 .. !!
见上面我的更新。 – andronikus
也许你会考虑接受我的答案,因为它解决了你的问题? – andronikus