我需要编写一个正则表达式,它将匹配具有txt,htm或html扩展名的文件名。我知道parens将字符组合在一起,并且括号允许一组中的一个字符匹配,所以我尝试组合这些方法,但它不起作用。要测试的字符串部分为[1]。 。*应该匹配任意数量的字符,然后是\\。将是点,然后我尝试组合括号和括号。
if (!Pattern.matches(".*\\.[(txt)(htm)(html)]", parts[1])) {
System.err.println("501 Not Implemented: " + parts[1] + "\n");
}
答案 0 :(得分:6)
应该是:
if (!Pattern.matches(".*?\\.(txt|html?)", parts[1])) {
System.err.println("501 Not Implemented: " + parts[1] + "\n");
}
[...]
matches
方法假设为锚点,因此不需要^
和$
。答案 1 :(得分:2)
试试以下正则表达式:
".*\\.(txt|html?)$"