본문

정규표현식 기반 랜덤문자열 생성 프로그램

 


실험용 데이터를 생성하기 위하여 이번에 관련 프로그램을 찾으려 했으나 결국 찾지 못하여 만든 프로그램이다. dk.brics.automaton 패키지를 활용하는 Xeger 라이브러리를 사용하여 매우 간단하게 구현할 수 있었다.(유니코드를 원활히 지원한다) 또한 이들을 한데 모아 exe형태로 재구성 함으로서 윈도우 상에서 손쉽게 실행될 수 있도록 하였다. 프로그램을 실행시키면 콘솔에서 입력을 기다리며, 입력이 완료되면 result.txt에 저장한다. 중복생성은 검사하지 않는다.

 

regexgen_frontjang.exe

 

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.Scanner;

import nl.flotsam.xeger.Xeger;

public class test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        try{
            System.out.println("Type the regular expression:");
            String regex = scanner.nextLine();
            Xeger generator = new Xeger(regex);

            System.out.println("Type the number of entries you want to generate:");
            int num = Integer.parseInt(scanner.nextLine());
           
            BufferedWriter writer = new BufferedWriter(new FileWriter("result.txt"));
            int i=-1;
            String gen=null;
            while(++i<num){
                gen=generator.generate();
                writer.append(gen+"\r\n");
            }
            writer.flush();
            writer.close();
           
            System.out.println("Last entry : "+gen);
            System.out.println(i+" entries generated and written in result.txt!");
        }catch(Exception e){
            e.printStackTrace();
            System.err.println("Error occured!");
        }
    }
}

 

댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.