오늘은 Dart에서 정규 표현식, 즉 Regex에 대해 쉽게 알아보겠습니다.
정규 표현식은 문자열을 찾고, 검사하고, 조작하는 데 매우 유용한 도구입니다. 함께 간단히 살펴볼까요?
1. 정규 표현식이란?
정규 표현식은 특정 패턴을 가진 문자열을 표현하는 방법입니다.
예를 들어, 이메일 주소, 전화번호, 또는 특정 형식의 단어 등을 찾을 때 사용합니다. Dart에서도 정규 표현식을 쉽게 사용할 수 있습니다.
2. Dart에서 정규 표현식 사용하기
Dart에서 정규 표현식을 사용하려면 RegExp 클래스를 사용합니다. 아래는 Dart에서 정규 표현식을 사용하는 방법입니다.
2.1 RegExp 클래스 생성하기
먼저, 정규 표현식을 생성해야 합니다. 아래와 같이 간단한 예제를 보세요.
void main() {
// 정규 표현식 생성
RegExp regex = RegExp(r'\d+'); // 숫자 1개 이상
String text = "I have 2 apples and 10 oranges.";
// 정규 표현식으로 문자열 검색
Iterable<Match> matches = regex.allMatches(text);
for (var match in matches) {
print("Found number: ${match.group(0)}"); // 찾은 숫자 출력
}
}
위 코드에서 r'\d+'는 "숫자 1개 이상"이라는 의미입니다. \d는 숫자를 나타내고, +는 "1개 이상"이라는 의미입니다.
2.2 이메일 주소 검증하기
정규 표현식은 이메일 주소를 검증하는 데도 사용됩니다. 다음 코드는 이메일 주소의 유효성을 확인하는 예제입니다.
void main() {
String email = "example@mail.com";
RegExp emailRegex = RegExp(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$');
if (emailRegex.hasMatch(email)) {
print("Valid email address");
} else {
print("Invalid email address");
}
}
여기서 r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'는 이메일 형식을 나타내는 정규 표현식입니다.
^는 문자열의 시작을, $는 문자열의 끝을 나타내므로 전체 문자열이 이 패턴과 일치해야 합니다.
2.3 전화번호 검증하기
전화번호도 정규 표현식을 사용하여 검증할 수 있습니다. 아래는 한국의 전화번호 형식을 검사하는 예제입니다.
void main() {
String phoneNumber = "010-1234-5678";
RegExp phoneRegex = RegExp(r'^\d{3}-\d{4}-\d{4}$');
if (phoneRegex.hasMatch(phoneNumber)) {
print("Valid phone number");
} else {
print("Invalid phone number");
}
}
위의 코드에서 r'^\d{3}-\d{4}-\d{4}$'는 "세 자리 숫자-네 자리 숫자-네 자리 숫자" 형식을 나타냅니다.
2.4 정규 표현식의 유용한 메서드
Dart에서 정규 표현식을 사용할 때 유용한 몇 가지 메서드도 알아봅시다.
- hasMatch(String input): 입력 문자열이 정규 표현식과 일치하는지 여부를 반환합니다.
- firstMatch(String input): 입력 문자열에서 첫 번째 일치를 찾습니다.
- allMatches(String input): 입력 문자열에서 모든 일치를 찾습니다.
- replaceAll(String input, String replacement): 입력 문자열에서 정규 표현식과 일치하는 모든 부분을 대체합니다.
예를 들어, 문자열에서 모든 숫자를 제거하는 방법은 다음과 같습니다.
void main() {
String text = "I have 2 apples and 10 oranges.";
RegExp regex = RegExp(r'\d+');
String result = text.replaceAll(regex, '');
print(result); // "I have apples and oranges."
}
정규 표현식은 문자열을 다룰 때 매우 유용한 도구입니다.
Dart에서도 쉽게 사용할 수 있으니, 다양한 패턴을 연습해보며 익숙해지는 것이 좋습니다.
정규 표현식을 잘 활용하면 데이터 검증이나 텍스트 처리에서 많은 도움이 될 것입니다.
이 글이 Dart에서 정규 표현식을 이해하는 데 도움이 되었기를 바랍니다! 질문이 있다면 언제든지 댓글로 남겨주세요.
구독!! 공감과 댓글,
광고 클릭은 저에게 큰 힘이 됩니다.
Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.
'Dart > Dart Programming language' 카테고리의 다른 글
[추가학습] Dart에서 상속(Inheritance)과 인터페이스(Interface) 쉽게 알아보기 (3) | 2024.10.21 |
---|---|
[추가학습] 정규 표현식(Regex) 작성 방법: 초보자를 위한 가이드 (5) | 2024.10.20 |
[추가학습] Dart에서 게터와 세터 이해하기: 데이터 캡슐화의 기초! (3) | 2024.10.18 |
[추가학습] Dart에서 람다 함수 사용법: 간결하고 강력한 익명 함수의 매력! (4) | 2024.10.18 |
[추가학습] Dart 커뮤니티 및 자원 활용 / Dart 최신 동향 (4) | 2024.09.22 |