האם אתה צריך לברוח מנקודה בשיעור דמות רגקס של פייתון? – פינקסטר

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp
Share on email
פרסומת
MAGNEZIX מגנזיקס


שְׁאֵלָה

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

  • ה נְקוּדָה אופי . בביטויים רגולריים תואם כל תו מלבד התו החדש. לדוגמה, התבנית 'c.t' יתאים את המיתרים 'cat', 'cut', או 'czt'.
  • ה כיתת אופי [ ] הוא סט של תווים: אם אתה משתמש בו בתבנית רגקס, המנוע יתאים בדיוק לתו אחת מהקבוצה. לדוגמה, התבנית 'c[auz]t' יתאים את המיתרים 'cat', 'cut', או 'czt'.
  • תווים מיוחדים כמו שדמות הנקודה צריכה להיות לעתים קרובות נמלט בדפוס ביטוי רגולרי אם אתה רוצה להתאים אותם. לדוגמה, כדי להתאים את הנקודה בפועל '.' אופי, אתה צריך לעצב דפוס עם נקודה בריחה '.'. במילים אחרות, התבנית 'hello.' יתאים למחרוזת 'hello.' אבל לא המחרוזת 'hello!'.

שְׁאֵלָה:

האם אתה צריך לברוח מדמות הנקודה במחלקת דמות רגקס של Python?

תשובה

לא, אתה לא צריך לברוח מהתו הנקודה במחלקת תווים. זה מתאים לפייתון re וה-Python החדש יותר regex מודולים.

הסיבה היא שבמחלקת תווים, כל תו מלבד ^, -, ] אוֹ הם מילוליים, כלומר, הם איבדו את המשמעות המיוחדת שלהם אם הייתה להם.

דמות המינוס

למשל, המינוס '-' לדמות יש משמעות מיוחדת בתוך מחלקת התווים, זה תו הטווח בתבנית '[a-z]'.

עם זאת, המינוס נתפס גם כתו מילולי רגיל אם זה הערך הראשון או האחרון במחלקת תו. פייתון יודע שהמינוס בתור התו הראשון או האחרון אינו יכול לסמן טווח מכיוון שהטווח לא ייפתח או נסגר (למשל, תבניות [-z] אוֹ [a-]).

דמות הכובע

הכובע אופי מיוחד '^' אומר תחילת הקו ביטוי רגולרי. יש לו משמעות מיוחדת נוספת כאשר משתמשים בו בתור התו הראשון של מחלקת התווים (=כיתת אופי שלילי).

עם זאת, זה מאבד את המשמעות המיוחדת שלו כאשר זה לא הדמות הראשונה. אז אם אתה רוצה להתאים את '^' סמל, אתה יכול להשתמש בו בתור התו הלא-ראשון במחלקת תווים (למשל, תבנית [ab^c]).

💡 הערה: זה לא מזיק לברוח מה-dot regex או כל סמל מיוחד אחר בתוך מחלקת התווים – Python פשוט יתעלם מזה!

הבא נסקור כמה מהמושגים הבסיסיים ביתר פירוט!

הבנת ה-Dot Regex

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

לדוגמה, הביטוי הרגולרי '...' תואם מחרוזות 'hey' ו 'tom'. אבל זה לא תואם את המחרוזת 'yonto' המכיל את תו השורה החדשה 'n'. בשילוב עם מכמת הכוכבית בתבנית '.*', הביטוי הרגולרי של הנקודה תואם למספר שרירותי של סמלים מלבד תווים בשורה חדשה.

Python Regex Dot

למידע נוסף במדריך ההדרכה המפורט שלנו בבלוג:

הבנת שיעורי אופי

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

הנה דוגמה לקבוצת תווים בשימוש בביטוי רגולרי:

>>> import re
>>> re.findall('[abcde]', 'hello world!')
['e', 'd']

למידע נוסף במדריך ההדרכה המפורט שלנו בבלוג:

הבנת תווים מיוחדים

לאן ללכת מכאן?

די לתיאוריה, בואו נעשה קצת תרגול!

כדי להצליח בקידוד, אתה צריך לצאת לשם ולפתור בעיות אמיתיות עבור אנשים אמיתיים. כך אתה יכול להפוך למרוויח שש ספרות בקלות. וככה אתה משפשף את הכישורים שאתה באמת צריך בפועל. אחרי הכל, מה התועלת בתורת הלמידה שאף אחד לא צריך?

פרויקטי תרגול הם הדרך שבה אתה משחיז את המסור שלך בקידוד!

האם אתה רוצה להיות מאסטר קוד על ידי התמקדות בפרויקטי קוד מעשיים שבעצם מרוויחים לך כסף ופותרים בעיות לאנשים?

אז הפוך למפתח פרילנסר של Python! זו הדרך הטובה ביותר לגשת למשימה של שיפור כישורי הפייתון שלך – גם אם אתה מתחיל לגמרי.

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

הצטרפו עכשיו לסמינר המקוון בחינם!



קישור לכתבת המקור – 2021-12-20 17:09:19

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on telegram
Telegram
Share on whatsapp
WhatsApp
Share on email
Email
פרסומת
MAGNEZIX מגנזיקס

עוד מתחומי האתר