我试图将给定的网址与一组过滤条件进行匹配,根据这些条件该网址将被接受或丢弃。这是一个示例模式
http://test.blogs.com/between_the/
http://test.blogs.com/between_the/page*
http://test.blogs.com/between_the/archives*
*index.html*
*/page/*
http://abc.blogs.com/
http://area.test.com/index.php/blogs_a/blog_list/
http://area.test.com/index.php/blogs_b/blog_list/*/
根据条件,将接受以下网址
http://test.blogs.com/between_the/2012/02/autocad-ws-update-coming.html
http://abc.blogs.com/test
http://area.test.com/index.php/blogs_b/blog_list/page/2
而下面的将被过滤
http://test.blogs.com/between_the/page/2
http://test.blogs.com/index.html
http://area.test.com/index.php/blogs_b/blog_list/1/
只是想知道最好的方法是什么?我不确定是否可以使用复杂的通用正则表达式来处理此问题,因为排除模式不可预测。我正在考虑删除通配符并创建两个单独的列表以实现精确匹配并包含匹配,然后让输入 url 对这两个列表进行迭代。
任何指示将不胜感激。
谢谢
最佳答案
您可以简单地创建一个正则表达式列表,并在它与任何正则表达式都不匹配时接受一个 url。 url 一旦与正则表达式匹配就会被丢弃。这应该比创建单个复杂的正则表达式更容易且更易于维护。
关于java - java中如何使用通配符进行url匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9200409/