[comment]: # translation:outdated

[comment]: # ({4151d28b-4151d28b})
# 12. ביטויים רגולריים

[comment]: # ({/4151d28b-4151d28b})

[comment]: # ({17ed5ab5-17ed5ab5})
#### סקירה כללית

[Perl Compatible רגיל
ביטויים](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions)
(PCRE, PCRE2) נתמכים ב- Zabbix.

ישנן שתי דרכים להשתמש בביטויים רגולריים ב- Zabbix:

- הזנה ידנית של ביטוי רגולרי
- שימוש בביטוי רגולרי גלובלי שנוצר ב- Zabbix

[comment]: # ({/17ed5ab5-17ed5ab5})

[comment]: # ({a03653e2-439895e1})
#### ביטויים רגולריים

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

::: הערה אזהרה
אפשר להיגמר מהמחסנית בעת שימוש ברגיל
ביטויים. ראה את [איש ה-pcrestack
עמוד](http://pcre.org/original/doc/html/pcrestack.html) למידע נוסף
מֵידָע.
:::

שים לב שבהתאמה מרובת שורות, העוגנים `^` ו-`$` תואמים ב-
התחלה/סוף של כל שורה בהתאמה, במקום ההתחלה/סוף של
את כל המחרוזת.

[comment]: # ({/a03653e2-439895e1})

[comment]: # ({2e290e3b-e24754dc})
#### ביטויים רגולריים גלובליים

ישנו עורך מתקדם ליצירה ובדיקה רגילה מורכבת
ביטויים בחזית Zabbix.

ברגע שביטוי רגולרי נוצר בצורה זו, ניתן להשתמש בו ב
מספר מקומות בחזית על ידי הפניה לשמו, עם קידומת
@, לדוגמה, *\@mycustomregexp*.

כדי ליצור ביטוי רגולרי גלובלי:

- עבור אל: *ניהול → כללי*
- בחר *ביטויים רגולריים* מהתפריט הנפתח
- לחץ על *ביטוי רגולרי חדש*

הכרטיסייה **ביטויים** מאפשרת להגדיר את שם הביטוי הרגולרי ו
להוסיף ביטויי משנה.

![](../../assets/en/manual/regular_expressions/global_regexp.png)

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

|פרמטר|<|תיאור|
|-|--------|---------------------------------------- ----|
|*שם*|<|הגדר את שם הביטוי הרגולרי. כל תווי Unicode מותרים.|
|*ביטויים*|<|לחץ על *הוסף* בבלוק הביטויים כדי להוסיף תת-ביטוי חדש.|
| |*סוג ביטוי*|בחר סוג ביטוי:<br>**מחרוזת תווים כלולה** - התאם למחרוזת המשנה<br>**כל מחרוזת תווים כלולה** - התאם מחרוזת משנה כלשהי מרשימה מופרדת. הרשימה המופרדת כוללת פסיק (,), נקודה (.) או קו נטוי קדימה (/).<br>**מחרוזת תווים אינה כלולה** - התאימו לכל מחרוזת מלבד המחרוזת המשנה<br>**התוצאה היא TRUE* * - התאמה לביטוי הרגולרי<br>**התוצאה היא FALSE** - אין התאמה לביטוי הרגולרי|
|^|*ביטוי*|הזן מחרוזת משנה/ביטוי רגולרי.|
|*מפריד*|<|פסיק (,), נקודה (.) או קו נטוי קדימה (/) להפרדת מחרוזות טקסט בביטוי רגולרי. פרמטר זה פעיל רק כאשר נבחר סוג הביטוי "*כל מחרוזת תווים כלולה*".|
|*תלוי רישיות*|<|תיבת סימון כדי לציין אם ביטוי רגולרי רגיש לאותיות רישיות של אותיות.|

קו נטוי קדימה (/) בביטוי מטופל באופן מילולי, ולא
תוחם. כך ניתן לשמור ביטויים המכילים א
סלאש, ללא שגיאות.

::: שימו לב חשוב
שם ביטוי רגולרי מותאם אישית ב- Zabbix עשוי
מכילים פסיקים, רווחים וכו'. במקרים שבהם זה עלול להוביל
פרשנות שגויה בעת הפניה (לדוגמה, פסיק ב-
פרמטר של מפתח פריט) ניתן לרשום את כל ההפניה במרכאות כמו
זה: *"\@הביטוי הרגולרי המותאם אישית שלי למטרה1, תכלית2"*.\
אסור לצטט שמות של ביטויים רגולריים במיקומים אחרים (עבור
לדוגמה, במאפייני כלל LLD).
:::

בלשונית **בדיקה** הביטוי הרגולרי וביטויי המשנה שלו יכולים להיות
נבדק על ידי מתן מחרוזת בדיקה.

![](../../assets/en/manual/regular_expressions/global_regexp_b.png)

התוצאות מציגות את הסטטוס של כל תת-ביטוי וסך הכל מותאם אישית
מצב ביטוי.

סטטוס ביטוי מותאם אישית כולל מוגדר כ*תוצאה משולבת*. אם
מספר ביטויי משנה מוגדרים Zabbix משתמשת AND אופרטור לוגי ל
לחשב *תוצאה משולבת*. זה אומר שאם לפחות תוצאה אחת היא
לא נכון ל*תוצאה משולבת* יש גם סטטוס שקר.

[comment]: # ({/2e290e3b-e24754dc})

[comment]: # ({63a4cd3c-2ea2d961})
#### ברירת מחדל לביטויים רגולריים גלובליים

Zabbix מגיע עם מספר ביטויים רגולריים גלובליים כברירת מחדל
מערך הנתונים.

|שם|ביטוי|התאמות|
|--|------|------|
|*מערכות קבצים לגילוי*|`^(btrfs\|ext2\|ext3\|ext4\|jfs\|reiser\|xfs\|ffs\|ufs\|jfs\|jfs2\|vxfs\|hfs\| refs\|apfs\|ntfs\|fat32\|zfs)$`|"btrfs" או "ext2" או "ext3" או "ext4" או "jfs" או "reiser" או "xfs" או "ffs" או " ufs" או "jfs" או "jfs2" או "vxfs" או "hfs" או "refs" או "apfs" או "ntfs" או "fat32" או "zfs"|
|*ממשקי רשת לגילוי*|`^Software Loopback Interface`|מחרוזות המתחילות ב-"Software Loopback Interface".|
| |`^lo$`|"lo"|
| |`^(In)?[Ll]oop[Bb]ack[0-9._]*$`|מחרוזות שמתחילות באופן אופציונלי ב-"In", ואז יש "L" או "l", ואז "oop", לאחר מכן "B" או "b", ולאחר מכן "ack", שלאחריו ניתן לבוא באופן אופציונלי בכל מספר של ספרות, נקודות או קווים תחתונים.|
| |`^NULL[0-9.]*$`|מחרוזות המתחילות ב-"NULL" אופציונלי ואחריהן כל מספר של ספרות או נקודות.|
| |`^[Ll]o[0-9.]*$`|מחרוזות המתחילות ב-"Lo" או "lo" ובאופן אופציונלי ואחריהן כל מספר של ספרות או נקודות.|
| |`^[Ss]ystem$`|"מערכת" או "מערכת"|
| |`^Nu[0-9.]*$`|מחרוזות המתחילות ב-"Nu" אופציונלי ואחריהן כל מספר של ספרות או נקודות.|
|*התקני אחסון לגילוי SNMP*|`^(זיכרון פיזי\|זיכרון וירטואלי\|מאגרי זיכרון\|זיכרון במטמון\|החלפת שטח)$`|"זיכרון פיזי" או "זיכרון וירטואלי" או "מאגרי זיכרון" או " זיכרון במטמון" או "החלף שטח"|
|*שמות שירות Windows לגילוי*|`^(MMCSS\|gupdate\|SysmonLog\|clr_optimization_v2.0.50727_32\|clr_optimization_v4.0.30319_32)$`|"MMCSS" או "gupdate" או "SysmonLog" או "Strings like" clr\_optimization\_v2.0.50727\_32" ו-"clr\_optimization\_v4.0.30319\_32" כאשר במקום נקודות ניתן לשים כל תו מלבד שורה חדשה.|
|*מצבי הפעלה של שירות Windows לגילוי*|`^(automatic\|automatic delayed)$`|"automatic" או "automatic delayed"|

[comment]: # ({/63a4cd3c-2ea2d961})

[comment]: # ({4c860844-4c860844})
#### דוגמאות

[comment]: # ({/4c860844-4c860844})

[comment]: # ({eb858ac0-eb858ac0})
##### דוגמה 1

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

     ^TESTDATABASE$

![regexp\_expr\_2.png](../../assets/en/manual/regular_expressions/regexp_expr_2.png)

נבחר *סוג ביטוי*: "התוצאה היא FALSE". לא תואם שם,
המכיל מחרוזת "*TESTDATABASE*".

[comment]: # ({/eb858ac0-eb858ac0})

[comment]: # ({be96a07d-be96a07d})
##### דוגמה עם שינוי ביטוי רגולרי מוטבע

שימוש בביטוי הרגולרי הבא כולל משנה מוטבע
(?i) כדי להתאים את התווים "שגיאה":

     (?i) שגיאה

![regexp\_expr\_3a.png](../../assets/en/manual/regular_expressions/regexp_expr_3a.png)

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

[comment]: # ({/be96a07d-be96a07d})

[comment]: # ({489130e5-489130e5})
##### דוגמה נוספת עם שינוי ביטוי רגולרי מוטבע

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

     (?<=מתאים (?i)everything(?-i) אחרי שורה זו\n)(?sx).*# אנו מוסיפים את s modifier כדי לאפשר . להתאים תווים בשורה חדשה

![regexp\_expr\_4\_new.png](../../assets/en/manual/regular_expressions/regexp_expr_4_new.png)

סוג הביטוי הנבחר: "התוצאה היא TRUE". תווים אחרי ספציפי
הקו מותאמים.

::: שימו לב חשוב
  לא ניתן לציין את השינוי **g** בתור. ה
רשימה של מתקנים זמינים ניתן למצוא ב-[pcresyntax man
דף](https://www.pcre.org/original/doc/html/pcresyntax.html#SEC16). ל
מידע נוסף על תחביר PCRE נא עיין ב-[PCRE HTML
תיעוד](https://www.pcre.org/original/doc/html/pcrepattern.html).

:::

[comment]: # ({/489130e5-489130e5})

[comment]: # ({9cd9cfda-56f9b2c2})
#### תמיכה בביטויים רגילים לפי מיקום

|מיקום|<|ביטוי רגולרי|ביטוי רגולרי גלובלי|התאמה מרובת שורות|הערות|
|-|--------|--------|--------|--------|------ --------------|
|**[פריטי סוכן](/manual/config/items/itemtypes/zabbix_agent)**|<|<|<|<|<|
|<|eventlog\[\]|Yes|Yes|Yes|`regexp`, `severity`, `source`, `eventid` פרמטרים|
|^|log\[\]|^|^|^|`regexp` פרמטר|
|^|log.count\[\]|^|^|^|^|
|^|logrt\[\]|^|Yes/No|^|`regexp` פרמטר תומך בשניהם, `file_regexp` פרמטר תומך בביטויים לא גלובליים בלבד|
|^|logrt.count\[\]|^|^|^|^
|^|proc.cpu.util\[\]|^|No|No|פרמטר `cmdline`|
|^|proc.mem\[\]|^|^|^|^|
|^|proc.num\[\]|^|^|^|^|
|^|חיישן\[\]|^|^|^|`התקן` ו`חיישן` פרמטרים ב-Linux 2.4|
|^|system.hw.macaddr\[\]|^|^|^|פרמטר `ממשק`|
|^|system.sw.packages\[\]|^|^|^|'package` פרמטר|
|^|vfs.dir.count\[\]|^|^|^|`regex_incl`, `regex_excl`, `regex_excl_dir` פרמטרים|
|^|vfs.dir.size\[\]|^|^|^|`regex_incl`, `regex_excl`, `regex_excl_dir` פרמטרים|
|^|vfs.file.regexp\[\]|^|^|כן|פרמטר `regexp`|
|^|vfs.file.regmatch\[\]|^|^|^|^|
|^|web.page.regexp\[\]|^|^|^|^|
|**[מלכודות SNMP](/manual/config/items/itemtypes/snmptrap)**|<|<|<|<|<|
|<|snmptrap\[\]|כן|כן|לא|פרמטר `regexp`|
|**[פריט ערך preprocessing](/manual/config/items/item#item_value_preprocessing)**|<|כן|לא|לא|פרמטר `pattern`|
|**[פונקציות לטריגרים/פריטים מחושבים](/manual/appendix/functions)**|<|<|<|<|<|
|<|count()|Yes|Yes|Yes|`pattern` פרמטר אם פרמטר `operator` הוא *regexp* או *iregexp*|
|<|countunique()|כן|כן|^|^|
|<|find()|כן|כן|^|^|
|^|logeventid()|Yes|Yes|No|פרמטר `pattern`|
|^|logsource()|^|^|^|^|
|**[גילוי ברמה נמוכה](/manual/discovery/low_level_discovery#discovery_rule_filter)**|<|<|<|<|<|
|<|מסננים|כן|כן|לא|*שדה ביטוי רגולרי*|
|^|עוקף|כן|לא|^|ב*התאמות*, *לא תואם* אפשרויות לתנאי *תפעול*|
|**[תנאי פעולה](/manual/config/notifications/action/conditions)**|<|כן|לא|לא|ב*התאמות*, *לא תואם* אפשרויות עבור *שם מארח* ומטא נתונים של מארח * תנאי רישום אוטומטי|
|**[ניטור אינטרנט](/manual/web_monitoring#configuring_a_web_scenario)**|<|כן|לא|כן|*משתנים* עם קידומת **regex:**<br>*שדה*מחרוזת נדרשת*|
|**[הקשר מאקרו משתמש](/manual/config/macros/user_macros#user_macro_context)**|<|כן|לא|לא|בהקשר מאקרו עם קידומת **regex:**|
|**[פונקציות מאקרו](/manual/config/macros/macro_functions)**|<|<|<|<|<|
|<|regsub()|כן|לא|לא|פרמטר `pattern`|
|^|iregsub()|^|^|^|^|
|**[מיפוי סמלים](/manual/web_interface/frontend_sections/administration/general#icon_mapping)**|<|כן|כן|לא|*שדה ביטוי*|
|**[מיפוי ערך](/manual/config/items/mapping#configuration)**|<|כן|לא|לא|*שדה ערך* אם סוג המיפוי הוא `regexp`|

[comment]: # ({/9cd9cfda-56f9b2c2})
