JavaScript : 정규식으로 .+ .*를 줄 바꿈과 일치시킵니다.

JavaScript 정규식 .은 줄 바꿈 문자와 일치하지 않습니다.
console.log('\r\n123abc'.match(/./g))
console.log('\r\n123abc'.match(/.+/g))

결과
[ '1', '2', '3', 'a', 'b', 'c' ]
[ '123abc' ]

정규식으로 . 를 개행과 일치시키는 방법 (ES2018 이상)



ECMAScript 2018 이상의 JavaScript에서 .를 줄 바꿈과 일치 시키려면 /s (dotAll) 플래그를 사용하십시오.
console.log('\r\n123abc'.match(/./gs))
console.log('\r\n123abc'.match(/.+/gs))

결과
[
  '\r', '\n', '1',
  '2',  '3',  'a',
  'b',  'c'
]
[ '\r\n123abc' ]

정규식으로 . 를 개행과 일치시키는 방법 (ES2018 미만)



ECMAScript 2017까지의 JavaScript에서 .를 줄 바꿈에 맞추려면 [\s\S]를 사용하십시오.
console.log(`\r\n123abc`.match(/[\s\S]/g))
console.log(`\r\n123abc`.match(/[\s\S]+/g))

결과
[
  '\r', '\n', '1',
  '2',  '3',  'a',
  'b',  'c'
]
[ '\r\n123abc' ]

[\s\S]이란?



\s



스페이스, 탭, 개행 등, 공백 문자에 매치 하는 문자 클래스입니다.

¥S


\s 이외의 모든 문자와 일치하는 문자 클래스입니다.

「...」


[ 에서 ] 에 리스트 업 된 문자 어느 것에 매치 한다고 하는 의미입니다.

예를 들어, [abc]'a', 'b''c'와 일치합니다.

요컨대, [\s\S] 이란?



공백 문자, 혹은, 공백 문자 이외에 매치 한다고 하는 의미입니다.

결국, 어떤 문자에도 매치한다는 것이 됩니다.

끝까지 읽어 주셔서 감사합니다. Twitter에서는, Qiita에 쓰지 않는 기술 재료 등도 트윗하고 있으므로, 좋으면 팔로우해 주시면 기쁩니다 Twitter@suin

좋은 웹페이지 즐겨찾기