10.3.2 그룹(Groups)
10.3.2 그룹(Groups)
일치된 문자열에서 특정 정보를 그룹을 사용해 추출할 수 있습니다. match()가 true를 반환하면 matched(X) 메서드로 그룹을 얻을 수 있습니다. 여기서 X는 정규 표현식 패턴으로 정의된 그룹 번호입니다:
class Main {
static function main() {
var str = "Nicolas is 26 years old";
var r = ~/([A-Za-z]+) is ([0-9]+) years old/;
r.match(str);
trace(r.matched(1)); // "Nicolas"
trace(r.matched(2)); // "26"
}
}
그룹 번호는 1부터 시작하며 r.matched(0)은 항상 전체 일치 부분 문자열을 반환합니다.
r.matchedPos()는 원래 문자열에서 이 부분 문자열의 위치를 반환합니다:
class Main {
static function main() {
var str = "abcdeeeeefghi";
var r = ~/e+/;
r.match(str);
trace(r.matched(0)); // "eeeee"
// { pos : 4, len : 5 }
trace(r.matchedPos());
}
}
추가로 r.matchedLeft()와 r.matchedRight()를 사용해 일치된 부분 문자열의 왼쪽과 오른쪽 부분 문자열을 얻을 수 있습니다:
class Main {
static function main() {
var r = ~/b/;
r.match("abc");
trace(r.matchedLeft()); // a
trace(r.matched(0)); // b
trace(r.matchedRight()); // c
}
}
출처: Groups