/* ********************************************************************************************************* * TestFile() * * Description : 这个实现了unix下的grep功能 * * Arguments : "./test.java" "\\b[Ssct]\\w+" 第一个参数为文件路径,第二个参数为正则表达式 * * Returns : 打印出符合的文件名:按次数,开始位置,以及哪一行 * * Note(s) : 使用了自建的TestFile。功能将文件打开后将文件的每一行读入存入在Arraylist中; * * Author :peace ********************************************************************************************************* */ package net.peace.reg; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Jgrep { public static void main(String[] args) { // TODO Auto-generated method stub if(args.length<2){ System.out.println("请输入文件,以及正则表达式"); System.exit(0); } Pattern p=Pattern.compile(args[1]); int index=0; int nline=0; Matcher m=p.matcher(" "); for(String line : new TestFile(args[0])) { nline++; m.reset(line); while(m.find()){ System.out.println(index++ +":"+m.group()+" Start:"+m.start()+" n:"+nline); } } } }