דף הבית » קידוד » 30 שימושי קוד regex קוד עבור מפתחי אינטרנט

    30 שימושי קוד regex קוד עבור מפתחי אינטרנט

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

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

    החלק המסובך ביותר הוא ללמוד את התחביר וללמוד איך לכתוב קוד regex משלך. כדי לחסוך זמן ארגנתי 30 קטעי קוד regex שונים שאתה יכול לשלב בפרויקטים של פיתוח. ומכיוון ש regex אינו מוגבל לשפה אחת, תוכל להחיל את קטעי הטקסט האלה על כל דבר JavaScript ל PHP או פייתון.

    1. כוח סיסמה

    ^ (= = $ * *) (? =. * [0-9]. * [0-9]) (= = =. . * [az]. * [az]. * [az]). 8 $

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

    2. צבע הקסדצימלי

    \ # ([a-fA-F] | [0-9]) 3, 6

    השדה של פיתוח אינטרנט הוא בכל מקום עם קודי צבע hex. ניתן להשתמש בקטע regex זה כדי למשוך התאמות קוד hex מכל מחרוזת לכל מטרה. (מקור)

    3. אמת את כתובת הדואר האלקטרוני

    /[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[A-Z]2,4/igm

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

    4. כתובת IPv4

    /\b(?:(::25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.)3 ([0-9] [0-9]?) \ B /

    בדומה לכתובת דואר אלקטרוני היא כתובת ה- IP הרגילה המשמשת לזיהוי מחשב ספציפי הזמין לאינטרנט. ביטוי רגיל זה יבדוק מחרוזת כדי לראות אם הוא עוקב אחר תחביר הכתובת IPv4. (מקור)

    5. כתובת IPv6

    ([0-9a-fA-F] 1,4: 7,7 [0-9a-fA-F] 1,4 | ([0-9a-fA-F] 1 , 4:) 1,7: ([0-9a-fA-F] 1,4: 1,6: [0-9a-fA-F] 1,4 | ([0-9a-fA-F] 1,4: 1,5 (: [0-9a-fA-F] 1,4) 1,2 | ([0-9a -FA-F] 1,4: 1,4 (: [0-9a-fA-F] 1,4) 1,3 | ([0-9a-fA-F] 1,4:) 3: [0-9a-fA-F] 1,4) 1,4 | ([0-9a-fA-F] 1,4 : [0-9a-fA-F] 1,4) 1,5 | [0-9a-fA-F] 1,4: ((: [0 -9a-fA-F] 1,4) : 6 |: (: [0-9a-fA-F] 1,4) 1,7 |:) | fe80: (: [0-9a-fA-F] 0,4) 0,4% [0-9a-zA-Z] 1, |: :( ffff (: 0 1,4) 0,1:) (0-9) (25 [0-5] | (2 [0-4] | 1 [0,1 [0-9]) 0,1 [0-9 ]).) 3,3 (25 [0-5] | (2 [0-4] | 1 [0,1 [0-9]) 0,1 [0-9]) | ([0-9a-fA-F] 1,4: 1,4: (25 [0-5] | (2 [0-4] | 1 [0,1 [0-9 ] 0,1 [0-9]). 3,3 (25 [0-5] | (2 [0-4] | 1 [0,1 [0-9])  0,1 [0-9]))

    לחלופין, ייתכן שתרצה לבדוק כתובת עבור תחביר ה- IPv6 החדש יותר עם קטע regex מתקדם זה. ההבדל הוא קטן אך חיוני במהלך הפיתוח. (מקור)

    6. אלפים מפריד

    / \ d 1,3 (= = (\ d 3) + (?! \ d)) / g

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

    7. Prepend HTTP כדי היפר

    אם (! s.match (/ ^ [a-zA-Z] +: \ / \ /)) s = 'http: //' + s; 

    בין אם אתה עובד ב- JavaScript, Ruby או PHP, ביטוי רגיל זה יכול להוכיח מאוד מועיל. הוא יבדוק כל מחרוזת כתובת אתר כדי לראות אם יש לו קידומת HTTP / HTTPS, ואם לא, הוסף אותו בהתאם. (מקור)

    8. משוך דומיין מכתובת אתר

    /https?:\/\/(?:[-\w]+\.)?([-\w]+)\.\w+(?:\.\w+)?\/?.*/i

    כל דומיין אתר מכיל את הפרוטוקול הראשוני (HTTP או HTTPS) ולעתים קרובות תת-דומיין בתוספת נתיב הדף הנוסף. ניתן להשתמש בקטע זה כדי לחתוך את כל זה ולחזור רק את שם התחום ללא תוספת סלסולים. (SourceL

    9. מיין מילות מפתח לפי ספירת מילים

    ^ [^ \ s] * $ תואם בדיוק מילת מפתח של מילה אחת ^ [^ \ s] * \ s [^ \ s] * $ תואם בדיוק מילת מפתח בת שתי מילים ^ [^ \ s] * \ s [^ \ s] * מתאים למילות מפתח של לפחות 2 מילים (2 ועוד) ^ ([^ \ s] * \ s) 2 [^ \ s] * $ תואם בדיוק מילת מפתח בת 3 מילים ^ ([^ \ s] * \ s ) 4 [^ \ s] * $ תואם למילות מפתח בנות 5 מילים ויותר (longtail)

    משתמשי Google Analytics וכלי מנהלי האתרים ייהנו באמת מהביטוי הרגיל הזה. הוא יכול למיין ולארגן מילות מפתח על סמך מספר המילים המשמשות בחיפוש.

    זה יכול להיות ספציפי מספריים (כלומר רק 5 מילים) או שהוא יכול להתאים מגוון של מילים (כלומר 2 מילים או יותר). כאשר נעשה שימוש כדי למיין נתונים analytics זה ביטוי אחד חזק. (מקור)

    10. מצא מחרוזת Base64 תקף ב- PHP

    \? (php [\ t] eval \ (base64_decode \ (\ ('A-Za-z0-9 + /] 4) * ([A-Za-z0-9 + /] 3 = | [A-Za-z0-9 + /] 2 ==)?) 1 \ '\) \ \ \;

    אם אתה PHP Dev אז בשלב מסוים ייתכן שיהיה עליך לנתח באמצעות קוד מחפש אובייקטים בינאריים מקודדים Base64. קטע זה יכול להיות מיושם על כל קוד PHP ו יבדוק את כל מחרוזות Base64 הקיימות. (מקור)

    11. מספר טלפון תקף

    ^ \ \? \ d 1,3? [-.]? ((?: \ d 2)? [-.]? \ d \ d \ d [-.]? \ d \ d \ d \ d $

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

    מאז זה יכול להפוך לנושא מסובך למדי אני ממליץ skimming זה חוט המחרוזת עבור תשובות מפורטות יותר. (מקור)

    12. מובילים & נגרר רווח לבן

    ^ [\ s] + | [\ s] + $

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

    13. משוך מקור תמונה)

    12< *[img][^\>] * [src] * = * [\ "\ '] 0,1 ([^ \" \' \>] *)

    אם מסיבה כלשהי אתה צריך לשלוף את מקור התמונה ישר מ- HTML, קטע קוד זה הוא הפתרון המושלם. למרות שזה יכול לרוץ בצורה חלקה על backend, FrontS JS devs צריך במקום להסתמך על jQuery של .attr () עבור ממשק הקדמי. (מקור)

    14. אימות תאריך בפורמט DD / MM / YYYY

    ^ (? :(: 31 (\ / | - | /.). (?: 0? [13578] | [| / | |?). (?: 0? [1-3-9] | [1-2]]) 2) (? :( ?: 1 [6-9] | [2-9]] ד? \ d 2) $ | (?: 29 (\ / | | | \.) 0? 2 \ 3 (? :(? :( ?: 1 [6-9] | [2-9] \ d ) (?: 0: 0 [48] | [2468] [048] | [13579] [13579] [26]) | (? :(? 16 | [2468] [048] | [3579] [26])) ) (| / | | | /.) (? :( ?: 0? [1-9]) (?: 1 [0-2])) \ 4 (? :( ?: 1 [6-9] | [2-99] \ d)? \ D 2) $

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

    15. התאמה של מזהה סרטון ב- YouTube

    /http:\/\/(::youtu\.be\/|(?:[az]2,3\.)?youtube\.com\/watch(?:\?|#\!)v =) (/ \ w -] 11). * / gi

    YouTube שמר על אותו מבנה כתובת אתר במשך שנים, משום שהוא פועל. זהו גם האתר הפופולרי ביותר לשיתוף סרטונים באינטרנט, ולכן סרטוני YouTube נוטים לנהוג ברוב התנועה.

    אם עליך לשלוף מזהה סרטון YouTube מכתובת אתר, קוד regex זה מושלם ועליו לפעול באופן מושלם עבור כל הווריאציות של מבני כתובות האתרים של YouTube. (מקור)

    16. ISBN תקף

    / \ b (?: ISBN (? ::? |)) (?: 97 [89]) \ d 9 [\ dx]) \ b / i

    ספרים מודפסים עוקבים אחר שיטת מספור המכונה ISBN. זה יכול להיות מסובך למדי כאשר אתה מחשיב הבדלים בין ISBN-10 ו- ISBN-13.

    עם זאת קטע מדהימה זה מאפשר לך לאמת מספר ISBN ולבדוק אם זה ISBN10 או 13. כל קוד כתוב ב- PHP אז זה צריך להוכיח שימושי במיוחד עבור מפתחי אינטרנט. (מקור)

    17. בדוק מיקוד

    ^ \ d 5 (?: [- \ s] \ d 4)? $

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

    זכור כי זה נועד בעיקר עבור מערכת אמריקאית של מיקוד אז זה עשוי לדרוש התאמות עבור מדינות אחרות. (מקור)

    שם משתמש חוקי

    / @ ([A-Za-z0-9 _] 1,15) /

    הנה קטע קוד קטן מאוד להתאמת נגד שמות משתמש בטוויטר שנמצאו במחרוזת. זה בודק @iment תחביר אשר מושלם עבור סריקה אוטומטית את התוכן של ציוץ (או tweets). (מקור)

    מספרי כרטיסי אשראי

    ^ (:: 01-9) 12 (?: [0-9] 3) | 5 [1-5] [0-9] 14 | (6: 011 | 5 [ 0-9] [0-9]) [0-9] 12 | 3 [47] [0-9] 13 | (0: 0 [0-5] | [68] [0-9 ] [0-9] 11 | (?: 2131 | 1800 | 35 \ d 3) \ d 11) $

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

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

    20. מצא תכונות CSS

    ^ / s * [a-zA-Z \ -] + \ s * [:] 1 \ s [a-zA-Z0-9 \ s # #] + [;] 1

    זה יכול להיות נדיר לרוץ regex על CSS אבל זה לא מצב מוזר מאוד או.

    ניתן להשתמש בקטע קוד זה כדי לשלוף כל מאפיין CSS תואם וערך ממבחר בודדים. זה יכול לשמש עבור כל מספר סיבות, אולי כדי לראות chunks של CSS או להסיר מאפיינים כפולים. (מקור)

    21. רצועת הערות HTML

    אם מסיבה כלשהי אתה צריך להסיר את כל התגובות מחסום HTML, זהו קוד regex לשימוש. יחד עם הביטוי תמצא דוגמה PHP באמצעות preg_replace. (מקור)

    22. פייסבוק פרופיל כתובת אתר

    /( ?:http:\/\/)?(?:www..)?facebook\.com\/(::(?:\w)*#!\/)?(::pages\/)? (?: [\ w \ -] * \ /) * ([\ w \ -] *) /

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

    23. בדוק את גירסת Internet Explorer

    ^? * MSIE [5-8] (?: \. [0-9] +)? (?! * Trident \ / [5-9] \ 0). * $

    המעבר של מיקרוסופט אל אדג 'לא היה פה אחד, ואנשים רבים עדיין מסתמכים על Internet Explorer הקלאסי. מפתחים לעיתים קרובות צריכים לבדוק את גירסאות IE כדי להתמודד עם חוסר עקביות עם מנועי עיבוד.

    ניתן להשתמש בקטע טקסט זה ב- JavaScript כדי לבדוק סוכן דפדפן המבוסס על איזו גירסה של Internet Explorer (5-11) נמצאת בשימוש. (מקור)

    24. מחיר חלץ

    /(\$$0-9,]+(\.[0-9]2) ?)/

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

    25. כותרת דואר אלקטרוני לנתח

    /\b[A-Z0-9._%+-]+@(::[A-Z0-9-]+\.)+[A-Z]2,6\b/i

    עם שורה אחת זו של קוד אתה יכול לנתח באמצעות כותרת דוא"ל כדי לשלוף “ל” מידע מהכותרת. זה יכול לשמש בד בבד עם הודעות דוא"ל מרובות הצטרפו יחד.

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

    26. התאם סוג קובץ מסוים

    /^((.*\.((!!) (http: //htm|html|class|js)$)) ???^.]*$/i

    כאשר אתה מתמודד עם פורמטים של קבצים שונים כמו .xml, .html ו- .js, זה יכול לעזור לבדוק קבצים מקומיים ונטען על ידי משתמשים. קטע זה מושך סיומת קובץ כדי לבדוק אם היא חוקית מסדרה של תוספים חוקיים שניתן לשנות לפי הצורך. (מקור)

    27. התאם מחרוזת כתובת אתר

    /[-a-zA-Z0-9@:%_\+.~#?&//=]2,256\.[az]2,4\b(\/[-a-zA-Z0 -9 @:% _ \ +. ~ #? & // // =])? / Gi

    ניתן להשתמש בקטע טקסט זה עבור מחרוזות HTTPS ו- HTTP כדי לבדוק אם הטקסט תואם לתחביר התחום המסורתי של TLD. יש גם יישום פשוט של regex זה באמצעות RegExp של JavaScript. (מקור)

    28. לצרף rel =”לא עוקב” לקישורים

    (] (href = "https:?) ((?: www?.)? ', $ follow_list)'). (): [?!. \ \ brel =) [^>] *) (?: [^>])>

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

    קטע זה יכול למשוך את כל קישורי העוגן מחסום HTML ולצרף אותו 50,000”לא עוקב” תכונה לכל אלמנט. היזם שכתב קוד זה היה אדיב מספיק כדי לפרסם את הביטוי הגולמי בתוספת דוגמה לעבוד ב- PHP.

    29. התאמת שאילתת מדיה

    / @ media ([^ ] +)) \ ([\ s \ S] +) \ s * / g

    לשבור שאילתות מדיה CSS לתוך הפרמטרים שלהם ואת המאפיינים. זה יכול לעזור לך לנתח CSS חיצוני בצורה נקייה עם התמקדות ישירה יותר על איך פועל הקוד. (מקור)

    30. תחביר חיפוש של Google

    / (???++-??(?:'.+?'|".+?"|[^+\-] 1 [^] *)) / g

    תוכל לבנות קוד regex משלך עבור מניפולציה של טקסט הניתן לחיפוש באמצעות התחביר של הסימן המסחרי של Google. סימן החיבור (+) מציין מילות מפתח נוספות והסימן מינוס (-) מציין מילים שיש להתעלם מהן ולהסיר אותן מהתוצאות.

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

    לעטוף

    הדרך לשלוט בריג 'ק היא ארוכה אבל מתגמלת אם אתה מקל עם זה. מעבר regex טיפוסי כלים הדרך הטובה ביותר ללמוד היא דרך חזרה. נסה לבנות יישומי אינטרנט המסתמכים על קטעי טקסט רגילים אלה כדי ללמוד כיצד הם פועלים באפליקציית אינטרנט פעילה. ואם יש לך קטעי טקסט אחרים להציע לך לכתוב אותם באזור ההערות למטה.

    עכשיו תקרא:

    50 שימושי CSS קטעי כל מעצב צריך