我不太擅长正则表达式..
我如何在这个正则表达式模式中添加“.tile”(不带引号):
private static final Pattern JSP_PathPattern = Pattern.compile("(.+\\/)(\\w+)(\\.(jsp|.?htm.?|.?xslt,.?xsl))$", Pattern.CASE_INSENSITIVE);
提前致谢。
private static final Pattern JSP_PathPattern = Pattern.compile("(.+\\/)(\\w+)(\\.(jsp|.?htm.?|.?xslt,.?xsl|tile))$", Pattern.CASE_INSENSITIVE);
但是,根据我对代码的理解(检查文件扩展名),这个正则表达式在几个方面存在缺陷:
.
(匹配任何东西,因此允许类似的东西xhtmy
),
的xlt
因此,我推荐以下表达式:
private static final Pattern JSP_PathPattern = Pattern.compile("(\\.(jsp|html?|xslt?|tile))$", Pattern.CASE_INSENSITIVE);
公平地说,您不需要使用正则表达式。.
您可以在最后一个元素上进行字符串拆分并测试。
无论哪种方式,我都鼓励你学习正则表达式。