שינוי בקר זה יביא לטעינה מחדש של דף זה

REGEX.EXTRACT

הפונקציה REGEX.EXTRACT מחזירה את ההתאמות או את הקבוצות הנלכדות בהתאמה של ביטוי רגולרי נתון במחרוזת מקור.

REGEX.EXTRACT(מחרוזת-מקור, מחרוזת-ביטוי-רגולרי, מופע-התאמה, מופע-קבוצת-לכידה)

מחרוזת-מקור: ערך מחרוזת להתאמה לעומתו.

מחרוזת-ביטוי-רגולרי: ערך מחרות המייצג ביטוי רגולרי המשמש להתאמה לעומת מחרוזת-מקור.

מופע-התאמה: מספר שלם אפשרי המציין איזו התאמה יש להחזיר, למקרה שיש כמה התאמות. מספרים שליליים מתקבלים ומאפשרים לגשת להתאמות אחורנית, כך ש‑״‎-1״ הוא ההתאמה האחרונה וכן הלאה. אם הערך שניתן הוא ״0״, מוחזר מערך של כל ההתאמות. אם ערך זה יושמט, יוחזר המופע הראשון.

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

הערות

  • מחרוזת-ביטוי-רגולרי חייב לתאום לתקן ICU.

‏דוגמאות

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

A

1

ביקורות משתמשים

2

דוא״ל: jtalma@icloud.com שם: Julie Talma תאריך: 17/05/2021

3

דוא״ל: danny_rico@icloud.com שם: Danny Rico תאריך: 02/06/2021

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

לדוגמה, ניתן להזין את הנוסחה הבאה כדי להחזיר שם:

עורך הנוסחאות מציג את הנוסחה ‎=REGEX.EXTRACT(A2,"(?<=Name:‎ ‎)(.*)(?= Date)"‎.

בנוסחה נמצאים בשימוש הארגומנטים הבאים:

  • מחרוזת-מקור: A2, התא שמכיל את הנתונים שבהם ברצונך לחפש שם.

  • מחרוזת-ביטוי-רגולרי: ‎"(?<=Name:‎ ‎)(.*)(?= Date)"‎, ביטוי רגולרי שמחפש מלל בין המחרוזת ״שם:״ לבין ״תאריך״.

ניתן לחזור על נוסחה זו עבור כל שורת נתונים כדי להחזיר את השם של כל אדם שהשיב לסקר על‑ידי שינוי source-string בהתאם לתאים האחרים שמכילים מידע על ביקורות משתמשים.

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

לדוגמה, ניתן להזין את הנוסחה הבאה:

עורך הנוסחאות מציג את הנוסחה ‎=REGEX.EXTRACT(A2,"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")‎

בנוסחה נמצאים בשימוש הארגומנטים הבאים:

  • מחרוזת-מקור: A2, התא שמכיל את הנתונים שבהם ברצונך לחפש כתובת דוא״ל.

  • מחרוזת-ביטוי-רגולרי: ‎"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}"‎, ביטוי רגולרי שמחפש תבנית של כתובות דוא״ל.

ארגון מחדש של נתוני רשימה באמצעות match-occurrence

לפעמים יש לטפל בנתונים כמו אלה בטבלה הבאה (נקראת ״ספקים״), שבה הערכים מקובצים בתוך תא:

ספק

פריט

A

עדשים, חומוס, שעועית

B

תפוחים, תפוזים, לימונים

C

קינואה, אורז, צ׳יה

כדי להפריד את הערכים לפי חנות ודירוג, אפשר תחילה ליצור טבלה חדשה כמו זו:

A

B

C

D

1

דירוג

A

B

C

2

1

3

2

4

3

כדי להחזיר ״עדשים״, המוצר המוביל בדירוג עבור ספק א׳, ניתן להשתמש בנוסחה כמו זו שבתא B2 של הטבלה החדשה:

עורך הנוסחאות מציג את הנוסחה ‎=REGEX.EXTRACT(Suppliers::B2,"\w+",ROW(A2)-1)‎.

בנוסחה נמצאים בשימוש הארגומנטים הבאים:

  • מחרוזת-מקור: ״ספקים::B2״, התא שמכיל את הנתונים שבהם ברצונך לחפש. במקרה זה, ברצונך לחפש ברשימה שבתא זה.

  • מחרוזת-ביטוי-רגולרי: ‎"\w+"‎, ביטוי רגולרי שמחפש מילה.

  • מופע-התאמה: ROW(A2)-1. במקרה זה, יש 3 התאמות לכל REGEX.EXTRACT, וניתן להשתמש בפונקציה אחרת, כמו ROW להגדרת ההתאמה הספציפית הרצויה. ROW(A2)‎ מחזירה את מספר השורה של התא הנבחר (2), וכוללת את ‎-1 כדי לחסר את שורת הכותרת מהתוצאה, אחרת, יוחזר הערך ״חומוס״ (ההתאמה השנייה) מדוגמה זו.

    אם משמיטים את match-occurrence, התוצאה עבור כל ספק היא תמיד המילה הראשונה שמוחזרת (״עדשים״ עבור ספק א׳, ״תפוחים״ עבור ספק ב׳ וכו׳).

ניתן לשנות את הנוסחה שמעל בקלות כדי להשלים את הטבלה לפי שאר הספקים והפריטים.

  • כדי להחזיר מוצרים פופולריים אחרים עבור ספק יחיד, ניתן לשנות את match-occurrence. לדוגמה, כדי להחזיר את הערך ״חומוס״, הפריט השני הכי פופולרי עבור ספק א׳, ניתן לשנות את ההפניה לתא ב‑match-occurrence מ‑A2 ל‑A3.

  • כדי להחזיר ערכים עבור ספק אחר, ניתן לשנות את source-string. לדוגמה, כדי להחזיר את הערך ״תפוחים״, הפריט הכי פופולרי עבור ספק ב׳, ניתן לשנות את ההפניה לתא ב‑source-string מ‑B2 ל‑B3.

‏דוגמאות נוספות

בהינתן שתוכנו של תא A1 הוא ״marina@example.com john@example.ca mike@example.de״.

הפונקציה ‏‎=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})")‎ מחזירה ״marina@example.com״.

הפונקציה ‏‎=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2)‎ מחזירה ״john@example.ca״.

הפונקציה ‏‎=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", -1)‎ מחזירה ״mikeexample.de״.

הפונקציה ‏‎=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 1, 1)‎ מחזירה ״marina״.

הפונקציה ‏‎=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2, 2)‎ מחזירה ״example.ca״.

מידע נוסף:REGEX
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
מועיל?
מגבלת תווים: 250
מגבלת התווים המרבית היא 250.
תודה על המשוב.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.