חיפוש Regex באמצעות Java

חקור את הקסם של שימוש בביטויים רגולריים לחיפוש בקוד ה-Java שלך! בעולם הקידוד, חשבו על ביטויים רגולריים כמו קודים סודיים שעוזרים לנו למצוא מידע ספציפי בטקסט. מאמר זה ילמד אותך את היסודות של חיפוש עם ביטויים רגולריים ב-Java, כך שתוכל לחפש בצורה חכמה במסמכים בפורמטים שונים של קבצים בתיקיות.

Java API עבור Regex Search במסמכים על ידי Regex

לצורך ביצוע חיפוש Regex, נשתמש בממשק API של GroupDocs.Search for Java. עם ממשק API זה, אנו יכולים לחפש טקסט ספציפי בקבצים בפורמטים שונים בתיקיות, רק על ידי מתן דפוס הרקס. כלי זה מאפשר לנו לחפש טקסט בסוגים שונים של קבצים, כמו מסמכי Word, גיליונות אלקטרוניים, מצגות, קבצי PDF, קובצי סימון, ספרים אלקטרוניים, הודעות דואר אלקטרוני, מסמכי One Note וארכיוני ZIP, הכל בצורה פרוגרמטית.

כדי לקבל רשימה מפורטת של פורמטי קבצים נתמכים, עיין בתיעוד מפורט.

יש לך שתי אפשרויות לקבל את קובץ ה-JAR: הורד אותו מסעיף ההורדות, או שלבו את תצורות המאגר והתלות העדכניות ביותר של Maven ישירות לתוך יישומי ה-Java שלך.

חיפוש בקבצים עם Regex באמצעות Java

להלן השלבים הפשוטים כיצד לבצע חיפוש ביטויים רגילים במספר קבצים בפורמטים שונים בתוך תיקיות באמצעות Java. לאחר מכן, תוכל ליצור ללא מאמץ קובצי פלט HTML מודגשים עבור כל מסמך שנמצא.

  • התחל על ידי יצירת אינדקס על ידי ציון נתיב התיקיה.
  • הוסף את הנתיב של התיקיה הראשית שבה תרצה לחפש באינדקס שיצרת זה עתה.
  • הגדר את שאילתת החיפוש של הביטוי הרגולרי.
  • השתמש בשיטת החיפוש כדי להפעיל את החיפוש ולהשיג את התוצאות.
  • כעת, אתה יכול לעבור על תוצאות חיפוש ולהפיק את הפלט הרצוי לפי העדפותיך.

הביטוי הרגולרי בקוד שלהלן מזהה מילים עם תווים חוזרים ברציפות, כגון מסכים, התקשר ובקרוב. קוד ג’אווה זה עורך חיפוש מהיר תוך שימוש ב-Regex בקבצים שונים בפורמטים שונים בתוך תיקיות שונות.

// Regex חפש במספר קבצים בתיקיות באמצעות Java

// יצירת תיקיית אינדקס והוספה של תיקיית המסמך אליה
Index index = new Index("path/indexing-folder-path");
index.add("path/parent-folder");

// הכן את השאילתה והחיפוש של Regex
// הרקס כאן נועד לזהות את כל המילים שיש להן תווים חוזרים ברציפות.
String query = "^(.)\\1{1,}"; 
SearchResult result = index.search(query);

להלן, הדגשתי את תוצאות החיפוש הרגולרי בקוד שסופק:

תוצאות מודגשות של חיפוש Regex בפורמט HTML

הדפסת תוצאות חיפוש

קוד Java הבא מציע שתי שיטות להצגת תוצאות החיפוש שלך:

  1. הדגש את כל המילים שהתגלו.
  2. הדפס את התוצאות בפורמט שקל לקרוא ולנתח.
// הדגשה והדפסה של תוצאות חיפוש Regex עבור כל המסמכים
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 לחיפוש בתוך קבצים ותיקיות

סיכום

במאמר זה, חקרנו את היסודות של נפלאות החיפוש Regex כדי לאתר מילים עם דפוסים ספציפיים במגוון מגוון של מסמכים מבוססי טקסט כגון קובצי DOCX, PDF ו-TXT על פני מספר תיקיות באמצעות Java. לאחר מכן, הצגנו את תוצאות החיפוש על ידי הדגשת המילים שזוהו והדפסתן בפורמט ברור.

להבנה מעמיקה של ה-API, הקוראים מוזמנים לחקור את תיעוד ו-API Reference.

לכל שאלה או דיון נוסף ניתן להתייחס בפורום.


ראה גם