정규식(Regular Expression)은 문자열의 패턴을 표현하기 위한 형식 언어이다. 정규식은 문자열에서 특정 패턴을 찾거나, 검색, 치환, 유효성 검사 등 다양한 문자열 처리 작업에 사용된다. 정규식은 특정 규칙을 따라 문자열을 매칭시키기 위한 패턴을 정의하며, 이를 통해 문자열에서 원하는 패턴을 찾거나 조작할 수 있다.
RegExp
Dart 에서 정규식을 다루기 위한 클래스를 'RegExp' 라고 한다.
생성자
RegExp pattern = RegExp('패턴');
allMatches 메서드
주어진 문자열에서 패턴과 일치하는 모든 부분을 찾아내어 Match 객체들의 Iterable을 반환
Iterable<Match> matches = pattern.allMatches('대상 문자열');
firstMatch 매서드
주어진 문자열에서 패턴과 첫 번째로 일치하는 부분을 찾아 Match 객체로 반환한다. 만약 일치하는 부분이 없다면 null을 반환.
Match? firstMatch = pattern.firstMatch('대상 문자열');
hasMatch 매서드
주어진 문자열에서 패턴과 일치하는 부분이 하나라도 있는지 여부를 반환한다.
bool hasMatch = pattern.hasMatch('대상 문자열');
stringMatch 매서드
주어진 문자열에서 패턴과 일치하는 부분 중 첫 번째 일치하는 부분을 찾아내어 문자열로 반환한다. 만약 일치하는 부분이 없다면 null을 반환.
String? match = pattern.stringMatch('대상 문자열');
pattern 속성
정규식 객체의 패턴을 문자열로 반환
String patternString = pattern.pattern;
특정 기호 찾기 기초
RegExp(r'[^\w]')
- r' 혹은 r" : 문자열을 raw string으로 지정하라는 의미. 이는 백슬래시 '\'를 그대로 표현할 수 있도록 해준다. 현재 예시에서 사용되는 '\w'(특수 기호 모두 찾기)를 그냥 사용 해도 된다.
- ^ : 문자열의 시작을 의미반대로 '$' 기호는 문자열의 종료를 의미
- \w : 문자와 숫자가 아닌 문자열 패턴을 찾는다는 것을 의미
그 외 패턴
\b : 문자와 공백 사이
\c : 제어 문자
\d : 숫자에 해당하는 유니코드 대응. [0-9]와 달리 아랍 문자, 페르시아 문자 등 다양한 문자 포괄
\f : 폼 피드
\n : 개행 문자 (줄바꿈)
\s : 공백 문자
\t : 탭 문자
\v : 수직 탭
\x : 16진수 값
\0 : (숫자 0) 8진수 값
'Flutter' 카테고리의 다른 글
Flutter 뉴스 API 연동하기(2) - 통신하기 (0) | 2024.01.31 |
---|---|
Flutter 뉴스 API 연동하기(1) - 기초 세팅 (0) | 2024.01.28 |
Flutter 플랫폼 구별하기 (안드로이드, IOS, Web) - Platform & kIsWeb (0) | 2024.01.22 |
Flutter 아이폰 스위치 CupertinoSwitch 만들기 (StatelessWidget) (0) | 2024.01.17 |
Flutter 체크박스 구현 하기 (0) | 2024.01.16 |