在java正则表达式中,我如何获得一个字符类,例如[a-z]来匹配减号?

2022-09-02 19:20:07
Pattern pattern = Pattern.compile("^[a-z]+$");
String string = "abc-def";
assertTrue( pattern.matcher(string).matches() ); // obviously fails

是否可以使字符类匹配“-”?


答案 1

不要在字符之间放置减号。

"[a-z-]"

答案 2

转义减号

[a-z\\-]