java - java中如何使用通配符进行url匹配

标签 java regex pattern-matching

我试图将给定的网址与一组过滤条件进行匹配,根据这些条件该网址将被接受或丢弃。这是一个示例模式


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/

相关文章:

java - 未找到 AWTU 实用程序

java - 我无法使用 ormlite android 更新表

java - 试图计算日出......没有得到正确的答案

javascript - CSS 'translate(0px, 0px)' 元素样式的正则表达式匹配值

Java:有没有人有方法找到数组中字符串的最佳匹配?

Haskell:用 | 约束函数模式变量

java - 使用 Roboguice 和 RxJava 进行继承和依赖注入(inject)

python - 不带空格且带特殊字符的字符串中的词频?

python - 如何在 Python 中使用正则表达式删除单词中的多个后续字符?

rust - 这个 Rust 匹配表达式可以简化吗?