Java 코드 검색에 정규식을 사용하는 마법을 탐험해보세요! 코딩 세계에서는 텍스트에서 특정 정보를 찾는 데 도움이 되는 비밀 코드와 같은 정규식을 생각해 보세요. 이 문서에서는 Java에서 정규식을 사용한 검색의 기본 사항을 설명하므로 폴더 전체에서 다양한 파일 형식의 문서를 스마트하게 검색할 수 있습니다.

Regex별 문서에서 Regex 검색을 위한 Java API

정규식 검색을 수행하기 위해 GroupDocs.Search for Java API를 사용합니다. 이 API를 사용하면 정규식 패턴을 제공하기만 하면 폴더 전체에서 다양한 형식의 파일에서 특정 텍스트를 검색할 수 있습니다. 이 도구를 사용하면 Word 문서, 스프레드시트, 프레젠테이션, PDF 파일, 마크업 파일, eBook, 이메일 메시지, One Note 문서, ZIP 아카이브 등 다양한 유형의 파일에서 프로그래밍 방식으로 텍스트를 검색할 수 있습니다.

지원되는 파일 형식의 자세한 목록을 보려면 자세한 문서를 확인하세요.

JAR 파일을 가져오는 데는 두 가지 옵션이 있습니다. 다운로드 섹션에서 다운로드하거나 최신 저장소 및 종속성 Maven 구성을 Java 애플리케이션에 직접 통합하는 것입니다.

Java를 사용하여 Regex로 파일 검색

다음은 Java를 사용하여 폴더 내에서 다양한 형식의 여러 파일에서 정규식 검색을 수행하는 방법에 대한 간단한 단계입니다. 그 후에는 찾은 각 문서에 대해 강조 표시된 HTML 출력 파일을 쉽게 만들 수 있습니다.

  • 폴더 경로를 지정하여 색인을 만드는 것부터 시작하세요.
  • 방금 생성한 인덱스에 검색하려는 메인 폴더의 경로를 추가하세요.
  • 정규식 검색 쿼리를 설정합니다.
  • 검색 방법을 사용하여 검색을 실행하고 결과를 얻습니다.
  • 이제 SearchResults를 통해 원하는 대로 원하는 출력을 생성할 수 있습니다.

아래 코드의 정규식은 동의, 전화, 곧 등 연속적으로 반복되는 문자가 있는 단어를 감지합니다. 이 Java 코드는 다양한 폴더 내의 다양한 형식의 다양한 파일에서 정규식을 사용하여 빠른 검색을 수행합니다.

// Regex Java를 사용하여 폴더 전체에서 여러 파일 검색

// 인덱스 폴더를 생성하고 여기에 문서 폴더 추가
Index index = new Index("path/indexing-folder-path");
index.add("path/parent-folder");

// 정규식 쿼리 및 검색 준비
// 여기서 정규식은 연속적으로 반복되는 문자가 있는 모든 단어를 식별하는 것입니다.
String query = "^(.)\\1{1,}"; 
SearchResult result = index.search(query);

아래에서는 제공된 코드에서 정규식 검색 결과를 강조 표시했습니다.

HTML 형식의 Regex 검색 결과 강조 표시

검색 결과 인쇄

다음 Java 코드는 검색 결과를 표시하는 두 가지 방법을 제공합니다.

  1. 발견된 모든 단어를 강조 표시합니다.
  2. 읽고 분석하기 쉬운 형식으로 결과를 인쇄합니다.
// 모든 문서에 대한 정규식 검색 결과 강조 표시 및 인쇄
for (int i = 0 ; i < result.getDocumentCount(); i++)
{
    FoundDocument document = result.getFoundDocument(i);
  
    OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, "path/Highlight" + i + ".html");
    Highlighter highlighter = new DocumentHighlighter(outputAdapter);
    index.highlight(document, highlighter);
 
    System.out.println("\tDocument: " + document.getDocumentInfo().getFilePath());
    System.out.println("\tOccurrences: " + document.getOccurrenceCount());
    for (FoundDocumentField field : document.getFoundFields()) {
        System.out.println("\t\tField: " + field.getFieldName());
        System.out.println("\t\tOccurrences: " + field.getOccurrenceCount());

        // 찾은 용어 인쇄
        if (field.getTerms() != null) {
            for (int k = 0; k < field.getTerms().length; k++) {
                System.out.println("\t\t\t" + field.getTerms()[k] + " - " + field.getTermsOccurrences()[k]);
            }
        }
    }
}
Document: English.txt
Occurrences: 83
	Field: content
	Occurrences: 82
		acceptance          1
		added               1
		agreeable           1
		agreed              1
		all                 4
		appearance          1
		assurance           1
...
===========================================
Document: Lorem ipsum.docx
	Occurrences: 945
...
Field: content
	Occurrences: 939
		accumsan            39
		class               7
		commodo             40
		convallis           38
		dignissim           35
		efficitur           46
		fringilla           40
		habitasse           2
		laoreet             27
		massa               63
		mattis              31
...

무료 라이센스 또는 무료 평가판 받기

무료 라이센스

이 라이브러리를 제약 없이 무료로 탐색하려면 임시 라이센스를 획득하세요.

무료 시험판

다운로드 섹션에서 무료 평가판을 다운로드할 수 있습니다.

파일 및 폴더 내 검색을 위한 Java API

결론

이 기사에서는 Java를 사용하여 여러 폴더에 걸쳐 DOCX, PDF 및 TXT 파일과 같은 다양한 텍스트 기반 문서에서 특정 패턴을 가진 단어를 찾기 위해 Regex 검색 불가사의의 기본 사항을 살펴보았습니다. 그 후, 식별된 단어를 강조 표시하고 명확한 형식으로 인쇄하여 검색 결과를 보여주었습니다.

API에 대한 철저한 이해를 위해 독자는 문서API 참조를 살펴보는 것이 좋습니다.

질문이나 추가 토론은 포럼에서 다룰 수 있습니다.

또한보십시오