Java正则表达式中%和/的问题

Pet*_*son 1 java regex

我在Java正则表达式中有%和/字符有问题.以下示例将说明我的问题:

Pattern pattern = Pattern.compile("^[a-z]*[/%]$");
Matcher m = pattern.matcher("a%/");
System.out.println(m.find());
Run Code Online (Sandbox Code Playgroud)

当我期望它是"真实的"时,它打印"假".%和/ sign不应该被转义,但即使我这样做仍然无法工作.

所以我的问题就是为什么?

Ama*_*osh 5

^[a-z]*[/%]$匹配零个或多个小写字母后跟一个字符,可以是/或者%- 允许多个字符,使用

^[a-z]*[/%]+$
Run Code Online (Sandbox Code Playgroud)

+代表一个或多个; 使用*零个或多个.

如果你没有$在正则表达式的末尾,它将a%在字符串中匹配a%/.

$ 匹配行尾.