grep java

作者:原创时间:2022-03-22
文档

grep java是什么,让我们一起了解一下?

grep是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。grep的工作方式在一个或多个文件中搜索字符串模板。

Grep命令中允许指定的串语句是一个规则表达式,这是一种允许使用某些特殊键盘字符的指定字符串的方法,这种方法中的特殊键盘字符可以用于代表其他字符也可以进一步定义模式匹配工作方式。

那么java正则表达是如何对grep功能进行实现的?

我们以检查test.txt文件里每一行,将开头是test的行打印出来为例:

package com.company;
import java.io.*;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
    public static void main(String[] args) throws IOException{
        String str;
        String pattern;
        System.out.println("请输入你要查询的内容:(^表示开头含有此字符串,$表示结尾含有此字符串)");
        Scanner input=new Scanner(System.in);
        pattern=in                                       //利用正则表达式输入要查询的内容,按题目要求应输入^test
        BufferedReader brf=new BufferedReader(new FileReader("/home/zyf/桌面/test.txt"));
        System.out.println("原文本为:");
        while((str=brf.readLine())!=null)
        {
            System.out.println(str);
        }//打印出原文本的所有内容
        Grep(pattern,"/home/zyf/桌面/test.txt");//调用Grep函数
    }
    //Grep函数
        public static void Grep (String pattern,String path) throws IOException   //pattern为所匹配的字符串,path为文件地址
        {   int number=0;
            Pattern r = Pattern.compile(pattern);
            File file=new File(path);
            InputStreamReader read = new InputStreamReader(new FileInputStream(file));
            BufferedReader bufferedReader = new BufferedReader(read);//创建一系列类
            String line = null;
            System.out.println("含有test的行有:");
            while ((line=bufferedReader.readLine()) != null)
            {   number++;
                Matcher m=r.matcher(line);
                if(m.find())
                {
                    System.out.println(number+"."+m.group());
                }
            }
        }
    }

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
groupby java guava java hbase java hibernate java hotspot java idea创建java idea创建普通java项目 idea怎么建立java idea编写java程序 influxdb java instance java instant java integer java interface java iterator java 铁观音产地是哪个地方 java -ea 南极洲有哪些国家 行程码带*号什么意思 祁连山在哪个省境内 golang调用java glue java geojson java geohash java gdb java gdal java gateway java for循环java foreach java field java 爱奇艺黄金会员和星钻会员的区别 false是java关键字吗 extends java extend java excel读取java enum java 小程序和app的区别 awesome java arrays java eclipse创建java