שימוש בביטויים רגולריים REGEX לצורך איסוף והפקת נתונים אוטומטיים (חלק 2)
הצעות הנחה הגבוהות ביותר
חדשות פנים בלעדיות
שדרגות מתנה חינם
הצעות הנחה הגבוהות ביותר
חדשות פנים בלעדיות
שדרגות מתנה חינם
אמיתות ידידות ביטחון
אנחנו לעולם לא נעביר את כתובת האימייל שלך לכל אחר וכל האימיילים כוללים קישור לביטול ההרשמה בלחיצה אחת.
במאמר הנוכחי אנו מראים לכם כיצד תוכלו להשתמש בביטויים רגולריים, כדי ליהנות מיתרונותיכם בעיבוד מסמכים אוטומטי. זה נכון במיוחד למסמכים של חברות בכל ענף.
אנו מראים לכם דוגמאות מדויקות של ביטויים רגולריים ומסבירים צעד-אחר-צעד מה משמעותם ואיך גם אתם יכולים להשתמש בהם.
כך תוכלו להגביר את היעילות התפעולית שלכם, להפחית טעויות אנוש על ידי דיוק גבוה יותר, להפחית את העלויות הנוכחיות שלכם, לשמור על שלמות הנתונים ולשפר את אבטחת המידע שלכם.
המאמר הנוכחי מרחיב את החלק הראשון על עיבוד מסמכים אינטליגנטי, כאן תוכלו להגיע ישירות למאמר.
הוצאת נתונים מסוימים ממסמכים יכולה להיות משימה יקרה וגוזלת זמן מאוד. לעתים קרובות, מסרקים של מסמכים נשלחים לחברות העוסקות בקבלת נתונים ידנית גדולה באאוטסורסינג, שבהן הנתונים מוגזים ידנית.
עם זאת, קיימים מספר חסרונות בגישה זו, כדלקמן:
וכן רבים נוספים.
למרות השימוש הנפוץ בסריקה, חלק גדול מהעסקאות המסחריות עדיין מבוסס על מסמכים פיזיים. מוערך כי 85 % מהחשבוניות עדיין מופיקות על נייר.
בנוסף, יש הררי נייר קיים שצריך לשמור במאגרים ענקיים!
ביטויים רגולריים, הידועים גם כ-"Regex" הם כלי עוצמתי לחיפוש וטיפול בטקסטים. הם מאפשרים לזהות ולטפל בתבניות מורכבות בטקסטים.
ביטוי רגולרי מורכב משילוב של אותיות רגילות וסימנים מיוחדים שיש להם פונקציות מיוחדות.
ניתן להשתמש בביטויים רגולריים גם כדי להחליף או לטפל בטקסט. לדוגמה, ניתן להשתמש בביטוי רגולרי.
הם כלי מאוד עוצמתי לעיבוד טקסטים ולאוטומציה של משימות.
העלייה במסמכים דיגיטליים עם סוגים שונים, כללים שונים למתן שמות וללא מערכת חיפוש מתאימה מקשה על תהליך החיפוש והקריאה של המידע מהמסמכים של תוכן מסוים, במיוחד אם מדובר במסמכים לא מסווגים, החיפוש נעשה בלתי מדויק ולוקח הרבה זמן.
כך מחפשים וקוראים את תוכן המסמך בהתאם למחרוזת נתונה. ביטויים רגולריים הם דרך להגדיר תבניות במידע באמצעות סמלים מיוחדים.
שיטת Regex מתאימה ביותר למסמכים שבהם מיקום הערכים לקריאה משתנה ומספרות מסמכים פשוטות לא יכולות לתפוס.
רשימה של ביטויים פשוטים תוכלו למצוא ב-ComDesk שלנו.
ניתן להרכיב ביטויים רגולריים בדרכים שונות, תלוי בסוג התבנית שמחפשים.
שימוש בסמלי מתא (Meta characters), כמו ., *, +, ?, ^, $, [] ו-[a-z], כדי לייצג סוגים מסוימים של תווים או תבניות.
שימוש בחלקים אופציונליים: השתמשו בשאלה (?) או בכוכב (*) כדי להפוך חלקים מהתבנית לאופציונליים.
שימוש בקבוצות: השתמשו בסוגריים עגולים כדי לקבץ חלקים מהתבנית ולתייחס אליהם כיחידה אחת.
חשוב לציין כי הכללים לביטויים רגולריים עשויים להשתנות בהתאם לשפת התכנות. לכן חשוב לקרוא את התיעוד של הכלים שבהם משתמשים. ה-RegEx שנכתבים עבור PaperOffice חייבים להיות תואמים ל-ECMAScript ו-PCRE2.
טיפ
בנושא "תיק מסמכים אוטומטי / רגקס & משתנים / אוטומציה של חשבוניות" יש גם סרטון ביוטיוב שמסביר את התהליך הזה בקלות ובהבנה:
במאמר הנוכחי נדגים לכם כיצד תוכלו להוציא כל נתון מהמסמך בעזרת ביטויים רגולריים מולטי-איבריים ב-PaperOffice ולהוסיפם אוטומטית כמילות מפתח למסמך.
להלן יצרנו מסמך דוגמה המכיל תאריך מסוים. במסמך זה מדובר בחשבונית. תבנית התאריך במסמך שלנו מעוצבת באופן הבא:
חודש המורכב מאותיות, אך האות הראשונה תמיד תיכתב באותיות גדולות, ואחריה רווח, ולאחר מכן היום שאחריו פסיק, רווח נוסף ואז השנה.
לדוגמה: Sep 20, 2019 או מאר 05, 2022
כדי לחלץ את התאריך הזה, נוכל להשתמש בביטוי הרגולרי (REGEX) הבא:
בואו נפרק את הביטוי לקבוצות נפרדות. קבוצות אלו מופרדות על ידי סוגריים פשוטים ().
בקבוצה הראשונה נחפש את אותי החודש: ([A-Z][a-zä]{2})
לאחר מכן נחפש רווח עם המחרוזת: \s
בקבוצה השנייה נחפש את היום בתצורה של מספרים: (0[1-9]|[12][0-9]|3[01])
יש להפריד את היום לשלוש הנחיות שונות.
מאחר ואיננו יודעים איזה יום מופיע במסמך, ייתכן שמדובר ביום הראשון (01) או ביום האחרון (31) של החודש, לכן יש לציין אפשרויות שונות.
אפשרויות אלו מופרדות על ידי התו „|“.
לדוגמה: (1|2|3) = 1 או 2 או 3.
בסוגריים מרובעים מופיעה רשימת תווי מותרות. מספר סוגריים מרובעים מציינות מספר תווים.אם אפשרות אחת מציינת מספר תווים, הם יתכתבו אחד אחרי השני. לאחר מכן נעשית בדיקה של הביטוי משמאל לימין עם הביטוי שלך.
כמובן שאין צורך לציין כל מספר. הביטוי המקיף יספק תוצאה עבור כל תו.
מחרוזת זו מחפשת תבנית מספר המתחילה באפס. אם במסמך שלך מופיע תאריך כמו "5. מארס 2022", ללא הספרה "0" לפני ה-5, אז ה-"0" תושמט מהמחרוזת.
לאחר שהגדרנו את היום, נעבור להגדרת הביטוי עבור השנה.
עכשיו נחפש את הפסיק והרווח: ,\s
בקבוצה האחרונה נחפש את השנה: (20\d{2})
נתחיל בחיפוש כל שנה, אם כי נידע שהיא גדולה או שווה ל-2000.
התו \d מציין לדוגמה ספרה בין 0 ל-9, בעוד \d{2} מחפש מספר כפול.
כאשר נשתמש בביטוי רגולרי זה ב-PaperOffice, התוצאה הסופית שתתקבל תהיה התאריך „Sep 20, 2019“.
כך ניתן לחלץ כל תאריך ממסמך, מבלי לדעת את ערך המקור. קבוצות אלו יכולות לשמש בכל מקום אחר ולהיות מועברות חופשי כדי לקרוא תבניות תאריך אחרות.
כאן דוגמה נוספת:
התאריך מתחיל ביום, אחריו החודש באותיות, כאשר האות הראשונה תמיד תיכתב באותיות גדולות, ואחריו נקודה, רווח נוסף ואז השנה.
כדי לחלץ תאריך זה, נוכל להשתמש בביטוי הרגולרי שהוסבר קודם, עם תיקון קל, כי בדוגמה השנייה נקבע נקודה לאחר החודש.
זה ניתן לציון עם המחרוזת: \.
הביטוי הסופי ייראה כך:
תוכלו בכל עת לאמת ה-Regex שיצרתם על ידי הכנסת הביטוי יחד עם הטקסט באתר https://regex101.com. Regex101 לא רק יבדוק אם ה-Regex שלך נכון, אלא גם יסביר את הביטוי הרגולרי באופן רחב.
כך תוכלו להשתמש בקבוצות התווים השונות לכל דבר.
כדוגמה נוספת, נרצה לקרוא את מספר ההזמנה מהמסמך.
מספר ההזמנה על המסמך שלנו מעוצב ככה:
זה תמיד מתחיל באותיות הראשיות XYB, ולאחר מכן מקף, ואז 8 ספרות, עוד מקף ובסוף 3 אותיות ראשיות אקראיות.
דוגמאות למספרי הזמנה יהיו:
XYB-12316723-LSH
XYB-98456723-JRD
כדי לחלץ את מספר ההזמנה הזה, אנו יכולים להשתמש בביטוי הרגולרי הבא:
בוא נפרק את הביטוי הזה צעד אחר צעד.
ראשית נחפש בדיוק את שלוש האותיות הראשיות הראשונות עם הסימן המקף: XYB-
לאחר מכן נחפש 8 ספרות ולאחריהן עוד מקף: \d{8}-
הסימן \d, כמו שתואר קודם, מייצג מספר בין 0 ל-9, ושוב הסימן \d{8} מחפש מספר בן שמונה ספרות.
ובסוף נחפש 3 אותיות ראשיות אקראיות: [A-Z]{3}
כך PaperOffice תזהה ממספרי ההזמנה הבאים:
XYB-12316723-LSH
XYB-98456723-JRD
XYB-975432671829
ZYB-12342176-ZHD
שני הראשונים XYB-12316723-LSH ו-XYB-98456723-JRD
תזהה.
הכנו קישור ל-Regex101 לדוגמה זו, שבו הביטוי הרגולרי שהזכרנו מתואר ב-4 דוגמאות. תוכלו לראות שרק שניים ממספרי הזמנה האלה עומדים בדרישות שלנו.
מספר המוצר במסמך שלנו מעוצב ככה:
זה תמיד מתחיל בשתי אותיות ראשיות, ואז מקף, ולאחר מכן 6 ספרות.
דוגמאות למספרי מוצרים יהיו:
MS-863398
DS-452829
כדי לחלץ מספרי מוצרים אלו, נוכל להשתמש בביטוי הרגולרי הבא:
PaperOffice יכולה לסרוק את המסמכים שלכם ולהשתלב במערכות שלכם כדי לאוטומט את חילוץ הנתונים מהחשבוניות ומסמכים אחרים, מבלי לכתוב ולשמור קודים כה רבים.
צרו איתנו קשר כדי לשוחח על המקרים שלכם ולגלות איך PaperOffice יכולה לעזור לכם להיות תחרותיים יותר בעידן הדיגיטלי.
להתחיל פשוט יותר ממה שאתם חושבים.
עדיין יש לכם ספקות אם תצליחו לעשות את זה? קראו סיפורי מקרה של הלקוחות שלנו על שילוב PaperOffice בעסקים שלהם ושכנעו את עצמכם בפשטות, או בקשו התקנת ניסיון פשוטה.
ERROR: LID-5759 missing
ERROR: LID-6036 missing
ERROR: LID-6035 missing
ERROR: LID-5763 missing
ERROR: LID-6039 missing
ERROR: LID-6035 missing
ERROR: LID-5756 missing
ERROR: LID-6042 missing
ERROR: LID-5803 missing
ERROR: LID-5793 missing
ERROR: LID-6069 missing
ERROR: LID-6070 missing
ERROR: LID-5787 missing
ERROR: LID-6072 missing
ERROR: LID-6035 missing
ERROR: LID-5789 missing
ERROR: LID-6077 missing
ERROR: LID-6070 missing
ERROR: LID-6074 missing
ERROR: LID-5771 missing
ERROR: LID-6075 missing
ERROR: LID-6035 missing
ERROR: LID-5777 missing
ERROR: LID-5759 missing
ERROR: LID-5763 missing
ERROR: LID-5800 missing
ERROR: LID-5769 missing
ERROR: LID-6082 missing
ERROR: LID-6083 missing