在某个txt文档中查找符合某正则表达式的内容
2007-04-28 17:35
351 查看
//TextFile 类
import java.util.*;
import java.io.*;
public class TextFile extends ArrayList
{
/**
* @param args
*/
public static String read(String filename) throws IOException
{
BufferedReader br = new BufferedReader(new FileReader(filename));
StringBuffer sb = new StringBuffer();
String s;
while ((s = br.readLine()) != null)
{
sb.append(s);
sb.append("/n");
}
br.close();
return sb.toString();
}
public TextFile(String filename) throws IOException
{
super(Arrays.asList(read(filename).split("/n")));
}
public static void main(String[] args)
{
// TODO 自动生成方法存根
}
}
//在JGrep中开始查找
import java.util.regex.*;
import net.icafe8.file.TextFile;
import java.util.*;
import java.io.*;
public class JGrep
{
public static void main(String[] args)
{
// TODO 自动生成方法存根
if (args.length<2)
{
System.out.println("Usage: java JGrep filename regualexpression");
System.exit(0);
}
Pattern p = Pattern.compile(args[1]);
try
{
ListIterator it = new TextFile(args[0]).listIterator();
while (it.hasNext())
{
Matcher m = p.matcher((String)it.next());
while (m.find())
{
System.out.println(it.nextIndex() + ":" + m.group() + ":" + m.start());
}
}
}catch (IOException e)
{
throw new RuntimeException(e);
}
}
}
import java.util.*;
import java.io.*;
public class TextFile extends ArrayList
{
/**
* @param args
*/
public static String read(String filename) throws IOException
{
BufferedReader br = new BufferedReader(new FileReader(filename));
StringBuffer sb = new StringBuffer();
String s;
while ((s = br.readLine()) != null)
{
sb.append(s);
sb.append("/n");
}
br.close();
return sb.toString();
}
public TextFile(String filename) throws IOException
{
super(Arrays.asList(read(filename).split("/n")));
}
public static void main(String[] args)
{
// TODO 自动生成方法存根
}
}
//在JGrep中开始查找
import java.util.regex.*;
import net.icafe8.file.TextFile;
import java.util.*;
import java.io.*;
public class JGrep
{
public static void main(String[] args)
{
// TODO 自动生成方法存根
if (args.length<2)
{
System.out.println("Usage: java JGrep filename regualexpression");
System.exit(0);
}
Pattern p = Pattern.compile(args[1]);
try
{
ListIterator it = new TextFile(args[0]).listIterator();
while (it.hasNext())
{
Matcher m = p.matcher((String)it.next());
while (m.find())
{
System.out.println(it.nextIndex() + ":" + m.group() + ":" + m.start());
}
}
}catch (IOException e)
{
throw new RuntimeException(e);
}
}
}
相关文章推荐
- 用正则表达式实现对文章内容的查找
- C#正则表达式查找匹配循环替换内容
- 随笔:linux正则表达式.*查找任意位置的两内容
- 随笔:linux正则表达式.*查找任意位置的两内容
- 正则表达式给查找到的内容加引号
- 随笔:linux正则表达式.*查找任意位置的两内容
- 随笔:linux正则表达式.*查找任意位置的两内容
- 在vs2013中使用正则表达式查找和替换文本内容
- 随笔:linux正则表达式.*查找任意位置的两内容
- 随笔:linux正则表达式.*查找任意位置的两内容
- 通过正则表达式查找文本 并检索出匹配正则的字符串内容
- 随笔:linux正则表达式.*查找任意位置的两内容
- 随笔:linux正则表达式.*查找任意位置的两内容
- java替换字符串中符合正则表达式的内容
- 通过正则表达式判断TextField内容是否符合要求
- 随笔:linux正则表达式.*查找任意位置的两内容
- eclipse使用正则表达式查找文件内容
- 文件内容查找(一)grep正则表达式
- 随笔:linux正则表达式.*查找任意位置的两内容
- 随笔:linux正则表达式.*查找任意位置的两内容