■前言
系统发布时,对发布前后的资源做差分时使用。
(系统发布的环境如果时windows环境,
可以使用powershell中的diff命令,对修改前后的内容进行差分比较)
■例子
Diff (cat 'C:\test\temp\testdiff\after\HelloWorld.java') (cat 'C:\test\temp\testdiff\before\HelloWorld.java') | Out-String -Width 200 >C:\test\temp\testdiff\Deff_HelloWorld.txt
----
------
■代码 after 修改了26 27行
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class HelloWorld {
public static void main(String args[]){
String checkRE = "^([a-zA-Z0-9])+@([a-zA-Z0-9\\.]+)$";
Pattern ptn = Pattern.compile(checkRE);
Matcher matStr = ptn.matcher("sxz@csnd.com");
System.out.println(matStr.find());
System.out.println(matStr.groupCount());
System.out.println(matStr.group(2));
System.out.println(matStr.group());
System.out.println("--------------------------");
// 正则表达式中的贪婪模式 默认开启
checkRE = "<div>.*</div>";
ptn = Pattern.compile(checkRE);
matStr = ptn.matcher("sxzaadivaa<div>123</div><div>456</div>aaass");
System.out.println(matStr.find());
System.out.println(matStr.groupCount());
System.out.println(matStr.group()+" 位置:["+matStr.start()+","+matStr.end()+"]");
System.out.println("diff test1--------------------------");
System.out.println("diff test2--------------------------");
// 正则表达式中 非贪婪模式 (使用「?」)
checkRE = "<div>.*?</div>*";
ptn = Pattern.compile(checkRE);
matStr = ptn.matcher("sxzaadivaa<div>123</div><div>456</div>aaass");
System.out.println(matStr.find());
System.out.println(matStr.groupCount());
System.out.println(matStr.group()+" 位置:["+matStr.start()+","+matStr.end()+"]");
System.out.println("--------------------------");
}
}
■代码 before 其中26 行被修改
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class HelloWorld {
public static void main(String args[]){
String checkRE = "^([a-zA-Z0-9])+@([a-zA-Z0-9\\.]+)$";
Pattern ptn = Pattern.compile(checkRE);
Matcher matStr = ptn.matcher("sxz@csnd.com");
System.out.println(matStr.find());
System.out.println(matStr.groupCount());
System.out.println(matStr.group(2));
System.out.println(matStr.group());
System.out.println("--------------------------");
// 正则表达式中的贪婪模式 默认开启
checkRE = "<div>.*</div>";
ptn = Pattern.compile(checkRE);
matStr = ptn.matcher("sxzaadivaa<div>123</div><div>456</div>aaass");
System.out.println(matStr.find());
System.out.println(matStr.groupCount());
System.out.println(matStr.group()+" 位置:["+matStr.start()+","+matStr.end()+"]");
System.out.println("--------------------------");
// 正则表达式中 非贪婪模式 (使用「?」)
checkRE = "<div>.*?</div>*";
ptn = Pattern.compile(checkRE);
matStr = ptn.matcher("sxzaadivaa<div>123</div><div>456</div>aaass");
System.out.println(matStr.find());
System.out.println(matStr.groupCount());
System.out.println(matStr.group()+" 位置:["+matStr.start()+","+matStr.end()+"]");
System.out.println("--------------------------");
}
}