我不太擅长正则表达式..
如何在此正则表达式模式中添加“.tile”(不带引号):
private static final Pattern JSP_PathPattern = Pattern.compile("(.+\\/)(\\w+)(\\.(jsp|.?htm.?|.?xslt,.?xsl))$", Pattern.CASE_INSENSITIVE);
提前感谢。
答案 0 :(得分:4)
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);
公平地说,您不需要使用正则表达式。您可以在.
上进行字符串拆分并测试最后一个元素。
不管怎样,我鼓励你learn Regular Expressions。