정규표현식 - 플래그(옵션)

OROSY·2021년 4월 9일
0

JavaScript

목록 보기
46/53
post-thumbnail

1. 플래그(옵션)

플래그(flags)는 정규표현식의 옵션으로 정규식으로 검색하려는 문자 패턴에 추가적인 옵션을 넣어 원하는 문자 검색 결과를 반환하도록 합니다.

플래그설명
g모든 문자 일치(global)
i영어 대소문자를 구분 않고 일치(ignore case)
m여러 줄 일치(multi line)

1.1 플래그 사용 예제

const str = `
010-1234-5678
the7632@gmail.com
http://www.omdbapi.com/?apikey=2181d79b&s=frozen
The quick brown fox jumps over the lazy dog.
abbcccdddd
`

const regexp1 = /the/
console.log(str.match(regexp1)) // 값: "the", index: 15

const regexp2 = /the/g
console.log(str.match(regexp2)) // 값: (2) ["the", "the"]

const regexp3 = /the/gi
console.log(str.match(regexp2)) // 값: (3) ["the", "The", "the"]
console.log(str.match(/the/gi)) // 값: (3) ["the", "The", "the"]

2. 이스케이프 문자(Escape Character)

\(백슬래시) 기호를 통해 본래의 기능에서 벗어나 상태가 바뀌는 문자를 말합니다. 이를 통해, 정규표현식 내에서 특정한 기능으로 활용되는 기호를 문자로 해석되도록 합니다.

2.1 이스케이프 문자 사용 예제

const str = `
010-5484-7632
the7632@gmail.com
http://www.omdbapi.com/?apikey=2181d79b&s=frozen
The quick brown fox jumps over the lazy dog.
abbcccdddd
`

console.log(str.match(/\./gi)) // 값: (4)
// str 데이터 내에서 .(dot) 사용에 대한 정보를 검색하고 싶으나,
// .(dot)은 정규식 내에서 특정한 기능으로 활용되므로 앞에 \(백슬래시)를 추가하여 검색함

console.log(str.match(/\.$/gim)) // 값: "."
// .(dot) 뒤의 $는 $ 앞에 적힌 하나의 단어가 포함되는 문장에서 끝나는 부분을 일치시키는 기호
// 또한, 뒤에 플래그도 gim을 입력하여 여러 줄을 일치시켰으므로 4번째 줄의 .(dot)이 검색됨

console.log(str.match(/\.$/gi)) // 값: null
// 이번에는 플래그 중 m을 제거하여 여러 줄을 검색하지 않으므로
// 가장 마지막 줄인 aabb로 시작하는 다음 줄에서 검색을 실행했으나 .(dot)이 없으므로 null이 반환됨
profile
Life is a matter of a direction not a speed.

0개의 댓글