이번에는 정규표현식을 다루는 다양한 메소드(Methods)에 대해 알아봅시다.
정규식과 일치하는 문자가 있는지 여부를 Boolean 데이터로 반환합니다. 문자 데이터에 특정한 패턴이 들어있는지를 확인할 수 있는 메소드입니다.
정규식.test(문자열)
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 regexp = /fox/gi // fox와 일치하는 내용 대소문자 구분 없이 검색
console.log(regexp.test(str)) // 값: true
인수로 정규식을 받으며, 일치하는 문자열의 배열(Array) 데이터를 반환합니다.
문자열.match(정규식)
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 regexp = /the/gi // the와 일치하는 내용 대소문자 구분 없이 검색
console.log(str.match(regexp)) // (3) ["the", "The", "the"]
첫 번째 인수로는 정규표현식, 두 번째 인수로는 대체하려는 문자 데이터를 넣어줍니다. 이를 통해 일치하는 문자열을 새로운 문자열로 대체하고, 대체된 결과를 문자열(String)로 반환합니다.
문자열.replace(정규식,대체문자)
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 regexp = /fox/gi // fox와 일치하는 내용 대소문자 구분 없이 검색
console.log(str.replace(regexp, 'AAA')) // 값: The quick brown AAA~~
console.log(str) // 값: The quick brown fox~~
// replace 메소드를 사용했지만 원본 데이터는 변경되지 않음