logo

MySQL REGEXP_LIKE() פונקציה

הפונקציה REGEXP_LIKE() ב-MySQL משמשת להתאמת דפוסים. זה משווה אם המחרוזות הנתונות תואמות לביטוי רגולרי או לא . הוא מחזיר 1 אם המחרוזות תואמות לביטוי הרגולרי ומחזיר 0 אם לא נמצאה התאמה.

תחביר

להלן תחביר בסיסי לשימוש בפונקציה זו MySQL :

 REGEXP_LIKE (expression, pattern [, match_type]) 

הסבר פרמטר

ההסבר של פרמטרי הפונקציה REGEXP_LIKE() הם:

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

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

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

    ג:זה מייצג התאמה תלוית רישיות.אני:זה מייצג התאמה חסרת רגישות לאותיות גדולות.M:הוא מייצג מצב מרובה שורות המזהה מסימי קו בתוך המחרוזת. כברירת מחדל, פונקציה זו מתאימה למסימי שורות בתחילת ובסוף המחרוזת.n:הוא משמש כדי לשנות את . תו (נקודה) כדי להתאים למסימי קו. כברירת מחדל, הוא ייעצר בסוף שורה.ב:הוא מייצג סיומת שורה של Unix בלבד המזהים רק את תו השורה החדשה על ידי אופרטורי ההתאמה ., ^ ו-$.

הבה נבין כיצד אנו יכולים להשתמש בפונקציה זו ב-MySQL עם דוגמאות שונות.

דוגמא

ההצהרה הבאה מסבירה את הדוגמה הבסיסית של הפונקציה REGEXP_LIKE ב-MySQL.

 mysql> SELECT REGEXP_LIKE ('England or America', 'l.nd') AS Result; 

בדוגמה זו, הביטוי הרגולרי יכול לציין כל תו במקום הנקודה. לכן, נקבל כאן התאמה. אז הפונקציה הזו מחזירה 1 כדי לציין התאמה.

MySQL regexp_like Function

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

 mysql> SELECT REGEXP_LIKE ('MCA', 'BCA') AS Result; 

הנה הפלט:

סנטוס נגד rhel
MySQL regexp_like Function

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

 mysql> SELECT REGEXP_LIKE ('England Netherland Scotland', 'and$') AS Result; 

הנה התוצאה:

MySQL regexp_like Function

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

 mysql> SELECT REGEXP_LIKE ('India Indonesia', '^in', 'i') AS 'Case-Insensitive', REGEXP_LIKE ('India Indonesia', '^in', 'c') AS 'Case-Sensitive'; 

הנה התוצאה:

MySQL regexp_like Function