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);
아래에서는 제공된 코드에서 정규식 검색 결과를 강조 표시했습니다.
검색 결과 인쇄
다음 Java 코드는 검색 결과를 표시하는 두 가지 방법을 제공합니다.
- 발견된 모든 단어를 강조 표시합니다.
- 읽고 분석하기 쉬운 형식으로 결과를 인쇄합니다.
// 모든 문서에 대한 정규식 검색 결과 강조 표시 및 인쇄
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를 사용하여 여러 폴더에 걸쳐 DOCX, PDF 및 TXT 파일과 같은 다양한 텍스트 기반 문서에서 특정 패턴을 가진 단어를 찾기 위해 Regex 검색 불가사의의 기본 사항을 살펴보았습니다. 그 후, 식별된 단어를 강조 표시하고 명확한 형식으로 인쇄하여 검색 결과를 보여주었습니다.
API에 대한 철저한 이해를 위해 독자는 문서 및 API 참조를 살펴보는 것이 좋습니다.
질문이나 추가 토론은 포럼에서 다룰 수 있습니다.