java正則表達式匹配文本中想要的字符串


需求:獲取一個本地文件中所有符合 $[MAKE_PACKAGE] 格式的字符串,並輸出到另一個文件中.

public static void main(String[] args) throws Exception {
        
        loadVar("src/cn/don9/templates/Action.txt","src/cn/don9/templateVar/SysActionVar.txt");
        
    }
    
    public static void loadVar(String infilePath,String outfilePath) throws Exception{
        //定義set集合,實現去重效果
        Set<String> result = new HashSet<String>();
        //定義正則表達式
        String regex = "[\\$][\\[]\\w+[\\]]";
        Pattern pattern = Pattern.compile(regex);
        
        //讀取文件
        File file = new File(infilePath);
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;
        while((line=br.readLine())!=null){
            //匹配文本中每行的字符串
            Matcher matcher = pattern.matcher(line);
            //發現匹配的字符串,存入set中
            while(matcher.find()){
                result.add(matcher.group());
            }
        }
        
        //加載輸出文件
        File outfile = new File(outfilePath);
        BufferedWriter bw = new BufferedWriter(new FileWriter(outfile));
        for(String var:result){
            //寫入字符串
            bw.write(var+"\r\n");
        }
        
        br.close();
        bw.close();
        
        System.out.println("讀取完畢!");
    }

運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM