在正则表达式java中的方括号外的Charat运算符

时间:2013-12-20 10:20:19

标签: java regex

我有三种模式

Pattern pattern = Pattern.compile("[a-f]"); // Pattern 1
//Pattern pattern = Pattern.compile("[^a-f]");// Pattern 2
//Pattern pattern = Pattern.compile("^[a-f]");// Pattern 3

Matcher matcher = pattern.matcher("acdefghijklmn");
while(matcher.find()) {
    System.out.print(matcher.start() + " ");
}

结果
模式1 - 0 1 2 3 4
模式2 - 5 6 7 8 9 10 11 12
模式3 - 0

我知道模式1用于查找a和f(包括)之间的任何简单字母,模式2用于查找不在a和f(包括)之间的任何简单字母。但模式3意味着什么?

3 个答案:

答案 0 :(得分:2)

  

但模式3是什么意思?

^之外的{p> []表示字符串的开头,就像$表示最后一样。

答案 1 :(得分:2)

"^[a-f]"

意味着字母a-f在第一行匹配。

Recommended Regex Reference

答案 2 :(得分:1)

但是模式3是什么意思?

模式3 ^[a-f]在字符串以^开始[a-f]时匹配。