front-end 국비과정 일차 19일차 학습일지:정규 표현식
--- 정규 표현식 ---
정규표현식이란?
문자열을 처리하는 방법 중의 하나로 특정한 조건의 문자를 검색하거나 바꾸는 과정을 매우 간편하게 처리 할 수 있도록 하는 수단이다.
플레그(flag)란?
작성한 정규표현식에 기능을 부여해주는 역할을 한다.
정규표현식의 사용방법은 2가지가있다
1 생성자 함수에 사용하는 방식
생성자 함수에 정규표현식을 담아서 사용하는 방식이다
2 리터럴 방식
정규 표현식을 /로 감싸 사용하는 방식이다
ex)
const test1 = new RegExp("^hello")
//생성자 함수로 정규표현식을 작성한 예시
const test2 = new RegExp("^hello","gi") 여기서 RegExp는 전역객체로써 정규표현식을 생성하는 기능을한다.
// 1번파라미터 = 표현식 2번파라미터 = 플래그
console.log(test1)
console.log(test2)
const test3 = /^hello/
//리터럴 방식으로 정규표현식을 작성한 예시 /로 표현식을 감싼다.
const test4 = /^hello/gi
//리터럴 방식으로 표현식과 플래그를 작성한 예시
console.log(test3)
console.log(test4)
--- 정규식에서 사용되는 method ---
test():정규식과 문자열이 일치하는지 true, false로 반환한다.
사용법 :정규식.test(일치여부를 판단할 문자열)
match(): ()안에 명시한 정규식과 일치하는 문자열을 배열로 반환한다.
사용법 : 문자열.match(정규식)
replace():()안에 명시한 정규식과 일치하는 문자를 수정한다.
사용법 : 문자열.replace(정규식,수정할 문자)
ex)
const myInfo = `
phone:010-0000-0000
email:blacksoy0516@gmail.com
address:Incheon
age:26
`
const Test = /010/gi
//Test라는 변수안에 010이라는 정규식 생성
console.log(Test.test(myInfo))
//Test는 정규식이고 test라는 method를 사용하여 myInfo라는 문자열중에 010이 있는지 조회
const Test2 = /blacksoy/
//Test2라는 변수안에 blacksoy라는 정규식 생성
console.log(myInfo.match(Test2))
//Test2는 정규식이고 match라는 method를 사용하여 myInfo라는 문자열에 blacksoy가 있는지 조회후 배열로 반환
const Test3 = /Incheon/
//Test3라는 변수안에 Incheon이라는 정규식 생성
console.log(myInfo.replace(Test3,"Seoul"))
//Test3는 정규식이고 replace라는 method를 사용하여 myInfo라는 문자열에 Incheon이 있는지 조회
//1번파라미터에는 myInfo에 내용을 조회할 정규식 Test3를 넣어주고, 2번파라미터에는 수정할 문자 명시
--- 정규식에서 사용되는 플래그(flag) ---
g : global의 약어로 모든문자를 일치시킨다
g플래그가없다면 문자열 데이터안에서 찾고자하는 문자열을 최초로 발견하는 시점에서 반환한다
g플래그가 있다면 문자열 데이터안에서 찾고자하는 문자열을 전부 배열로 반환한다
i : ignore의 약어로 알파벳의 대소문자를 구분하지 않는다 즉 ABC와 abc를 같다고 인식한다
m : 여러 줄을 일치시킨다
출력되는 내용을 보기좋게 줄바꿈해주는 역할을한다
ex)
const myInfo = `
phone:010-0000-0000
email:blacksoy0516@gmail.com
address:Incheon
age:26
`
const Test = /010/gi
//Test라는 변수안에 010이라는 정규식 생성 여기서 gi는 g와i플래그를 사용했다는 의미
console.log(Test.test(myInfo))
//Test는 정규식이고 test라는 method를 사용하여 myInfo라는 문자열중에 010이 있는지 조회
const Test2 = /blacksoy/gim
//Test2라는 변수안에 blacksoy라는 정규식 생성
console.log(myInfo.match(Test2))
//Test2는 정규식이고 match라는 method를 사용하여 myInfo라는 문자열에 blacksoy가 있는지 조회후 배열로 반환
//gim은 g,i,m플래그를 사용하겠다는의미