정규표현식
문자열에서 패턴을 검색하는 기능을 수행함
특정 문자가 포함되어 있는지를 찾고, 대체, 문자열 반환, bool 값 반환 등을 처리할 수 있다.
먼저 사용할 패턴(조건)을 선언한다.
RegExp pattern = RegExp(r'패턴');
RegExp는 클래스의 일종이다.
위 코드는 RegExp 객체를 생성한다.
패턴의 정의
| 기호 | 의미 | 동일한 코드 |
| \d | 숫자 | [0-9] |
| \w | 문자(숫자, 특수문자'_' 를 포함)(한글 미포함) | [a-zA-Z0-9_] |
| \s | 공백 문자(공백, 탭, 줄 바꿈) | |
| ^ | 문자열의 시작 | |
| $ | 문자열의 끝 |
예시
영어 소문자, 숫자만 이용해서 비밀번호를 입력받고 싶은 경우
RegExp pattern = RegExp(r'^[a-z0-9]+$');
닉네임에 한글, 공백만 허용하는 경우
RegExp pattern = RegExp(r'^[가-힣\s]+$');
패턴을 선언한 후 메서드를 사용해 문자열을 검사, 가공하면 된다.
주요 메서드는 다음과 같다.
1. hasMatch
주어진 문자열에 패턴과 일치하는 부분이 하나라도 있는지 확인하여 bool 타입을 반환
bool hasMatch = pattern.hasMatch('문자열');
2. firstMatch
주어진 문자열에서 패턴과 첫 번째로 일치하는 부분을 찾아 Match 객체로 반환
일치하는 부분이 없는 경우 null 반환
Match? firstMatch = pattern.firstMatch('문자열');
3. allMatches
주어진 문자열에서 패턴과 일치하는 모든 부분을 찾아 Match 객체들의 Iterable을 반환
일치하는 부분이 없는 경우 빈 Iterable 반환
Iterable<Match> matches = pattern.allMatches('문자열');
Iterable은 Match의 열거형 타입이다.
toList를 사용하면 List<Match>로 사용하는 것도 가능하다.
다트 콘솔 프로그램 실제 사용예시
-영문 소문자, 영문 대문자, 한글, 공백만 입력 가능

'Dart' 카테고리의 다른 글
| [Dart] 다트 콘솔 rpg 게임 - 캐릭터 부상 기능과 게임 종료 분기 추가 (0) | 2025.03.20 |
|---|---|
| [Dart] writeAsStringSync 메서드를 이용한 파일 저장 (0) | 2025.03.19 |
| [Dart] dart:io의 여러가지 메서드로 csv 파일 읽기 (0) | 2025.03.17 |
| [Dart] 비동기 프로그래밍 - Future (0) | 2025.03.14 |
| [Dart] 콘솔 쇼핑몰 트러블슈팅 (0) | 2025.03.13 |