정규식 줄바꿈 포함 모든 문자 일치(js속성검색 테크닉)
줄바꿈 제외 모든 문자를 허용하는 정규식
greedy 방식
.*
라고 하면, 줄바꿈을 제외한 모든 문자에 매칭 된다. 한 줄에만 한정된 것이다.- greedy 방식은, 매칭될 수 있는 가장 최대의 길이를 매칭하는 방법이다.(자세한 설명은 생략, non-greedy 와의 차이는 2번째 주제에서 다룸)
non-greedy 방식
.*?
라고, ?
를 붙이면 non-greedy 방식으로, 매칭될 수 있는 가장 최소의 길이를 매칭하게 된다.
줄바꿈 포함 모든 문자를 허용하는 정규식
greedy 방식
((.|\n)*)
라고 하면, 줄바꿈을 포함한 모든 문자에 매칭 된다. 한 줄에만 한정된 것이 아닌, 여러줄을 매칭시킬 수 있는 것이다.- 줄바꿈 포함 모든 문자를 허용하는 정규식을 내가 찾게된 이유는, javascript 에서 특정 객체의 속성을 찾으려고 한 것이다.
- greedy 방식은 매칭될 수 있는 최대길이를 매칭하기 때문에 다른 객체의 엉뚱한 속성이 매칭될 수 있다.
- 따라서 사용하려면, non-greedy 방식을 사용해야 한다.
non-greedy 방식
((.|\n)*?)
라고 하면, 특정 객체의 특정 속성을 정확히 검색하게 된다. 최소매칭을 하게 되니까.- application 속성 내의 view 속성을 보고 싶다면,
application:((.|\n)*?)view:
라고 하면 되는 것이다.