我需要一个正则表达式,它匹配所有情况下包含单词.png
的{{1}}类型的任何文件名。
所以它应该匹配
icon
任何帮助表示赞赏!! 谢谢! PS:我在java
答案 0 :(得分:7)
像@Sebastian P提到的那样:
/^.*icon.*\.png$/i
除非我将i标志添加到末尾以将其标记为不区分大小写。
答案 1 :(得分:4)
如果您只需要验证文件名,这应该可以解决问题:
Pattern regex = Pattern.compile("^.*icon.*\\.png$", Pattern.CASE_INSENSITIVE);
如果您还获取路径,并且想要提取文件名,请使用:
Pattern regex = Pattern.compile("(?<=^|[\\\\/])([^\\\\/]*icon[^\\\\/]*\\.png)$", Pattern.CASE_INSENSITIVE);
要解释这一点:我对\
和/
使用否定的character classes来确保所有内容都是文件名的一部分,然后我确保直到开始文件名为lookbehind。
答案 2 :(得分:0)
你需要的模式是这样的:
(?xsiu) \A .* icon .* \. png \z