//如果一个字符串作为正则表达式,只能匹配自身
//^ 以什么开头
//$以什么结尾
//[1234567890]等价 [0 - 9] []是一个字符 1或者2 或者 3 不能加逗号
//[a-z]等价于[abc...xyz]
//[A - Z]等价于 [ABC...XYZ]
//[a-g]等价于[abc..efg]
//[^012]包含0或者1或者2以外的所有字符
//[^]不包含
// {9}一共有9位 例如[0-9]{9}9个数字
//{1,4}1位到4位 例如 [a-z]{1,4} 写1位或2位或者3位 或者4位的小写字母
//{9,}最少9位
//? {0,1}0位或者1位
//+ {1,}最少1位
//* {0,}最少0位
//. 通配所有
// \d [0-9]
//\w [0-9a-zA-Z_]
//(a|b|c)
//转义字符
// \ 是转义字符
//匹配手机号 ^1[354879]\d{9}$
//windows98 windows2000 windows2007
// (?<=windows)(/d{2}|/d{4}) 正则表达式
//(?<=windows) 断言 断定windows一定存在
Pattern pattern1 = Pattern.compile("(?<=windows)(\\d{4}|\\d{2})");
Matcher m1 = pattern1.matcher("windows98 windows2000 windows2007");
while (m1.find()) {//如果可以获取一个值
String str = m1.group();//记录获取的值
System.out.println(str);
}