当前位置:科普知识站>IT科技>

grep|java

IT科技 阅读(5.27K)

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

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

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

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

grep java

那么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());                }            }        }    }