ביטוי רגולרי של כתובת URL - התאמה ופירוק קישורים
נפה באגים בביטויים רגילים של JavaScript: התאמות מודגשות, קבוצות לכידה, דגלים ותצוגה מקדימה של החלפה.
תוצאה
דף זה מתחיל עם דפוס כתובת אתר שגם מוצא קישורים וגם מנתח אותם: (?<protocol>https?):\/\/(?<host>[^\s\/?#]+)(?<path>\/[^\s?#]*)?(?<query>\?[^\s#]*)?. כל התאמה מפוצלת לארבע קבוצות בשם - פרוטוקול, מארח, נתיב ושאילתה - כך שאתה רואה לא רק שהקישור מתאים, אלא איזו חלק ממנו הלך לאן.
מחלקות התווים כאן עושות את העבודה האמיתית: [^\s\/?#]+ פירושו "הכל עד הלוכסן הבא, סימן השאלה או ה-hash", כלומר, המארח מופרד מהנתיב והנתיב ממחרוזת השאילתה. שים לב ש-ftp://old.server.net במדגם נשאר ללא התאמה מכיוון שקבוצת הפרוטוקולים מאפשרת רק http או https - הארך את החלופה אם אתה צריך יותר סכמות.
הדבק טקסט משלך - קובץ יומן, מסמך Markdown, קטע HTML - וצפה בהדגשות המתעדכנות בשידור חי. שדה ההחלפה מבין הפניות קבוצתיות, כך שתוכל לשכתב כל קישור תואם, למשל לעטוף אותו כ-[$&] או להקטין אותו ל-$<host>.