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

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

איך ל:

Dart משתמשת בכיתה RegExp עבור ביטויים רגולריים. הנה דוגמא בסיסית להתאמת דפוס פשוט בתוך מחרוזת:

void main() {
  var pattern = RegExp(r'\bDart\b');
  var text = 'Learning Dart programming is exciting.';

  if (pattern.hasMatch(text)) {
    print('נמצאה התאמה!');
  } else {
    print('לא נמצאה התאמה.');
  }
  // פלט: נמצאה התאמה!
}

כדי לחלץ התאמות ממחרוזת, אתה יכול להשתמש בשיטה allMatches. שיטה זו מחזירה איטרבל של התאמות:

void main() {
  var pattern = RegExp(r'\b\w+\b');
  var text = 'Dart is awesome!';

  var matches = pattern.allMatches(text);
  for (final match in matches) {
    print(match.group(0)); // מדפיס את המחרוזות שהתאימו.
  }
  // פלט:
  // Dart
  // is
  // awesome
}

החלפת טקסט ניתן להשיג באמצעות השיטות replaceFirst או replaceAll:

void main() {
  var pattern = RegExp(r'\bDart\b');
  var text = 'Dart is not just a dart.';
  
  // החלפת המופע הראשון
  var modifiedText = text.replaceFirst(pattern, 'Flutter');
  print(modifiedText); 
  // פלט: Flutter is not just a dart.

  // החלפת כל המופעים
  modifiedText = text.replaceAll(pattern, 'Flutter');
  print(modifiedText);
  // פלט: Flutter is not just a flutter.
}

פיצול מחרוזת לפי דפוס regex הוא פשוט באמצעות שימוש בשיטת split:

void main() {
  var pattern = RegExp(r'\s+'); // מתאים לכל תווי רווח
  var text = 'Dart is fun';

  var parts = text.split(pattern);
  print(parts); 
  // פלט: [Dart, is, fun]
}

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