'Ruby & Rails'에 해당되는 글 1건

  1. 2010.11.18 [Ruby] Regex \0, \1, \2, ...

[Ruby] Regex \0, \1, \2, ...

|
-
\0 : 마지막으로 일치한 부분
\1 : 마지막으로 일치한 전체 문자열 중 첫번째 그룹
\2 : 마지막으로 일치한 전체 문자열 중 두번째 그룹
...

"replacing in regex".gsub /\sin\s/, ' is easy in '
=> "replacing is easy in regex"

"replacing in regex".gsub /\sin\s/, ' is easy\0 '
=> "replacing is easy in regex"

문자열의 첫번째 문자부터 비교하면서 새로운 배열에 그 값을 넣는다.
그러면 일치하지 않는 부분은 그대로 새로운 배열에 들어간다.
일치하는 부분이 나오면 해당 부분을 치환하여 새로운 배열에 넣는다.
'\0'이 일치한 문자열 전체이므로 ' in '이 되어 'easy' 뒤에 들어간다.
그리고 남은 부분부터 다시 비교하면서 새로운 배열에 들어간다.

"replacing in regex".gsub /\si(n)\s/, ' is easy i\1 '
=> "replacing is easy in regex"


"AbcDef".gsub(/([a-z])([A-Z])/, '\1_\2').downcase
=> "abc_def"

마지막으로 일치한 부분이 "cD"이다.
첫번째, 두번째 그룹에 속하는 부분이 'c', 'D'이므로 각각 '\1', '\2'에 해당한다.
따라서, "abc_def"가 된다.

-
And
prev | 1 | next