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

JavaScript:
שימוש בביטויים רגולריים

איך לעשות:

התאמה בסיסית

כדי להתחיל, אפשר ליצור דפוס regex פשוט ולהשתמש בו למציאת התאמות במחרוזת. כאן, נמצא את המילה “code”:

const str = "I love to code in JavaScript.";
const pattern = /code/;
const result = pattern.test(str);
console.log(result); // true

שימוש ב-String.prototype.match()

לאחזור על מערך של התאמות:

const matches = str.match(/code/);
console.log(matches[0]); // "code"
console.log(matches.index); // 10

חיפוש כללי

כדי למצוא את כל ההתאמות, יש להשתמש בדגל g:

const globalMatches = str.match(/o/g);
console.log(globalMatches); // ["o", "o", "o"]

התאמה ללא תלות ברישיות

הדגל i מתעלם מהרישיות:

const caseInsensitiveMatch = "JavaScript is fun".match(/javascript/i);
console.log(caseInsensitiveMatch[0]); // "JavaScript"

החלפת טקסט

השתמשו ב-String.prototype.replace() להחלפת חלקים במחרוזת:

const newStr = "JavaScript is fun".replace(/fun/, "awesome");
console.log(newStr); // "JavaScript is awesome"

שימוש בקבוצות

קבוצות יכולות לתפוס חלקים מהדפוס:

const groupedPattern = /(\w+) is (\w+)/;
const replaceWithGroups = "JavaScript is fun".replace(groupedPattern, "$2 is $1");
console.log(replaceWithGroups); // "fun is JavaScript"

ספריות צד שלישי

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

// דוגמת ספריית XRegExp
const XRegExp = require('xregexp');
const str = "Cats are fantastic.";
const unicodeWordMatch = XRegExp.match(str, XRegExp('\\p{L}+'), 'all');
console.log(unicodeWordMatch); // ["Cats", "are", "fantastic"]

הקטע הזה מדגים שימוש ב-XRegExp להתאמת כל המילים ב-Unicode במחרוזת, מה שמציג את יכולת הספרייה לטפל בסטים של תווים מורחבים מעבר ליכולות המובנות של JavaScript.