การใช้นิพจน์ปกติ

Dart:
การใช้นิพจน์ปกติ

วิธีการ:

Dart ใช้คลาส RegExp สำหรับ regular expressions ต่อไปนี้เป็นตัวอย่างพื้นฐานในการจับคู่รูปแบบง่ายๆ ภายในสตริง:

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

  if (pattern.hasMatch(text)) {
    print('Match found!');
  } else {
    print('No match found.');
  }
  // ผลลัพธ์: Match found!
}

ในการสกัดค่าตรงจากสตริง คุณสามารถใช้เมธอด allMatches ซึ่งเมธอดนี้จะส่งคืนการจับคู่เป็น iterable:

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)); // สิ่งนี้จะพิมพ์ substrings ที่จับคู่ได้
  }
  // ผลลัพธ์:
  // 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]
}

สำหรับการวิเคราะห์ซับซ้อนหรือการตรวจสอบที่ Dart’s RegExp ไม่รองรับโดยตรง คุณอาจพิจารณาใช้ไลบรารีของบุคคลที่สาม แต่ไลบรารีมาตรฐานของ Dart มักเพียงพอสำหรับงาน regex ทั่วไป ชี้ให้เห็นถึงความสามารถและความหลากหลายในการจัดการ regular expressions.