כיצד מתאימים ביטויים רגולריים של מסד הנתונים של MySQL? MySQL regexp כמו שימוש

מסד נתונים של MySQLאיך הביטוי הרגולרי תואם?MySQL ביטוי רגולרי כמו שימוש

ביטויים רגולריים של MySQL

בפרקים הקודמים למדנו ש-MySQL יכול להיות כמו...% להתאמה מטושטשת.

MySQL תומך גם בהתאמה של ביטויים רגולריים אחרים. האופרטור REGEXP משמש ב-MySQL להתאמת ביטויים רגולריים.

אם אתה מכיר PHP או Perl, זה די פשוט, שכן התאמת הביטוי הרגיל של MySQL דומה לאלו של הסקריפטים הללו.

ניתן להחיל את התבניות הרגילות בטבלה הבאה על האופרטור REGEXP.

מצבתיאור
^מתאים לתחילת מחרוזת הקלט.^ תואם גם את המיקום אחרי '\n' או '\r' אם המאפיין Multiline של האובייקט RegExp מוגדר.
$מתאים לקצה מחרוזת הקלט.אם המאפיין Multiline של האובייקט RegExp מוגדר, $ מתאים גם למיקום לפני '\n' או '\r'.
.מתאים לכל תו בודד מלבד "\n".כדי להתאים כל תו כולל '\n', השתמש בתבנית כמו '[.\n]'.
[...]אוסף דמויות.מתאים לכל אחת מהדמויות הכלולות.לדוגמה, '[abc]' יתאים ל-"plai'א' ב-n".
[^…]סט תווים שלילי.מתאים לכל דמות שאינה מכילה.לדוגמה, '[^abc]' יתאים ל-'p' ב"רגיל".
p1|p2|p3מתאים ל-p1 או p2 או p3.לדוגמה, 'z|food' יתאים ל-"z" או "food". '(z|f)ood' מתאים ל-"zood" או "food".
*מתאים לביטוי המשנה הקודם אפס או יותר פעמים.לדוגמה, zo* יתאים ל-"z" וגם ל-"zoo". * שווה ל-{0,}.
+מתאים לביטוי המשנה הקודם פעם אחת או יותר.לדוגמה, 'zo+' יתאים ל-"zo" ו-"zoo", אבל לא ל-z. + שווה ל-{1,}.
{נ}n הוא מספר שלם לא שלילי.מתאים בדיוק n פעמים.לדוגמה, 'o{2}' לא יתאים ל-'o' ב-"Bob", אבל יתאים לשני ה-o's ב-"food".
{נ,מ}גם m וגם n הם מספרים שלמים לא שליליים, כאשר n <= m.מתאים לפחות n פעמים ולכל היותר m פעמים.

דוגמא

לאחר הבנת הדרישות הרגילות לעיל, נוכל לכתוב משפטי SQL עם ביטויים רגולריים בהתאם לדרישות שלנו.להלן נפרט כמה דוגמאות קטנות (שם הטבלה: person_tbl ) כדי להעמיק את ההבנה שלנו:

מצא את כל הנתונים שמתחילים ב-'st' בשדה השם:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

מצא את כל הנתונים המסתיימים ב'אישור' בשדה השם:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

מצא את כל הנתונים המכילים את המחרוזת 'mar' בשדה השם:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

מצא את כל הנתונים בשדה השם שמתחיל בתו תנועה או מסתיים במחרוזת 'בסדר':

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

Hope Chen Weiliang בלוג ( https://www.chenweiliang.com/ ) shared "כיצד להתאים ביטויים רגולריים של מסד הנתונים של MySQL? MySQL regexp כמו שימוש" יעזור לך.

מוזמנים לשתף את הקישור של מאמר זה:https://www.chenweiliang.com/cwl-492.html

ברוכים הבאים לערוץ הטלגרם של הבלוג של Chen Weiliang כדי לקבל את העדכונים האחרונים!

🔔 היה הראשון לקבל את "מדריך השימוש בכלי AI של ChatGPT Content Marketing" בספרייה העליונה של הערוץ! 🌟
📚 המדריך הזה מכיל ערך עצום, 🌟זו הזדמנות נדירה, אל תפספסו אותה! ⏰⌛💨
שתפו ותעשו לייק אם בא לכם!
השיתוף והלייקים שלך הם המוטיבציה המתמשכת שלנו!

 

发表 评论

כתובת האימייל שלך לא תפורסם. 必填 项 已 用 * תווית

גלול למעלה