정규식 줄바꿈 포함 모든 문자 일치(js속성검색 테크닉)

줄바꿈 제외 모든 문자를 허용하는 정규식

greedy 방식

  • .* 라고 하면, 줄바꿈을 제외한 모든 문자에 매칭 된다. 한 줄에만 한정된 것이다.
  • greedy 방식은, 매칭될 수 있는 가장 최대의 길이를 매칭하는 방법이다.(자세한 설명은 생략, non-greedy 와의 차이는 2번째 주제에서 다룸)

non-greedy 방식

  • .*? 라고, ?를 붙이면 non-greedy 방식으로, 매칭될 수 있는 가장 최소의 길이를 매칭하게 된다.

줄바꿈 포함 모든 문자를 허용하는 정규식

greedy 방식

  • ((.|\n)*) 라고 하면, 줄바꿈을 포함한 모든 문자에 매칭 된다. 한 줄에만 한정된 것이 아닌, 여러줄을 매칭시킬 수 있는 것이다.
  • 줄바꿈 포함 모든 문자를 허용하는 정규식을 내가 찾게된 이유는, javascript 에서 특정 객체의 속성을 찾으려고 한 것이다.
  • greedy 방식은 매칭될 수 있는 최대길이를 매칭하기 때문에 다른 객체의 엉뚱한 속성이 매칭될 수 있다.
  • 따라서 사용하려면, non-greedy 방식을 사용해야 한다.

non-greedy 방식

  • ((.|\n)*?) 라고 하면, 특정 객체의 특정 속성을 정확히 검색하게 된다. 최소매칭을 하게 되니까.
  • application 속성 내의 view 속성을 보고 싶다면, application:((.|\n)*?)view: 라고 하면 되는 것이다.

--

--

--

Developer

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
seop

seop

Developer

More from Medium

How to solve the “Process out of memory” error in Node.js

9 Reasons To Start A Career As An Embedded System Developer

Counting the frequency of elements in a specific range (Eg: 0–9) in JavaScript

Rust for JavaScript Devs 2