gpt4 book ai didi

java - 正则表达式变化

转载 作者:行者123 更新时间:2023-12-01 19:04:01 25 4
gpt4 key购买 nike

我不太擅长正则表达式..

如何向此正则表达式模式添加“.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);

公平地说,您不需要使用正则表达式。您可以在 . 上进行字符串拆分并测试最后一个元素。

无论如何,我鼓励您 learn Regular Expressions .

关于java - 正则表达式变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10956710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com