Dart의 정규 표현식은 JavaScript의 정규 표현식과 동일한 구문 및 의미를 사용한다.
String pattern = r'^(source)$';
var regExp = RegExp(pattern, {multiLine: true}, {caseSensetive: false});
매개 변수 (Parameter) | 설명 |
---|---|
String source | String으로서의 정규 표현식 |
{bool multiLine} | 다중 행 정규 표현식인지 여부 (전체 줄이 아닌 각 줄의 처음과 끝에 ^ 및 $ 일치) |
{bool caseSensetive} | 식이 대소문자를 구분하는 경우 |
ex) IPv4 validation
bool validateIpv4(String input) {
/*
* [0-1]?[0-9]{1,2} → 0 ~ 199
* 2[0-4][0-9] → 200 ~ 249
* 25[0-5] → 250 ~ 255
*/
final regExp = RegExp(
r'^((([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))\.){3}([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5])$');
return regExp.hasMatch(input);
}