정규 표현식 사용하기

Dart:
정규 표현식 사용하기

사용 방법:

Dart에서는 RegExp 클래스를 정규 표현식에 사용합니다. 여기 문자열 내에서 간단한 패턴을 일치시키는 기본 예제가 있습니다:

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 메소드를 사용할 수 있습니다. 이 메소드는 일치하는 항목의 반복 가능한 객체를 반환합니다:

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.
}

정규 표현식 패턴으로 문자열을 분할하는 것은 split 메소드를 사용하여 간단합니다:

void main() {
  var pattern = RegExp(r'\s+'); // 공백 문자와 일치
  var text = 'Dart is fun';

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

Dart의 RegExp에서 직접 지원하지 않는 복잡한 파싱 또는 유효성 검사가 필요한 경우, 제삼자 라이브러리를 고려할 수 있지만, 일반적인 정규 표현식 작업에 충분한 Dart의 표준 라이브러리는 정규 표현식을 다루는 데 있어 그 유용성과 다양성을 강조합니다.