我在Java正则表达式中有%和/字符有问题.以下示例将说明我的问题:
Pattern pattern = Pattern.compile("^[a-z]*[/%]$");
Matcher m = pattern.matcher("a%/");
System.out.println(m.find());
Run Code Online (Sandbox Code Playgroud)
当我期望它是"真实的"时,它打印"假".%和/ sign不应该被转义,但即使我这样做仍然无法工作.
所以我的问题就是为什么?
^[a-z]*[/%]$匹配零个或多个小写字母后跟一个字符,可以是/或者%- 允许多个字符,使用
^[a-z]*[/%]+$
Run Code Online (Sandbox Code Playgroud)
+代表一个或多个; 使用*零个或多个.
如果你没有$在正则表达式的末尾,它将a%在字符串中匹配a%/.
$ 匹配行尾.
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |