728x90

🌲 정규식 Regular Expression

 

문자열을 검색하고 대체하는 데 사용 가능한 일종의 형식 언어(패턴)

간단한 문자 검색부터 이메일, 패스워드 검사 등 복잡한 문자 일치 기능 등

 

🚨 정규표현식 정리

 

GitHub - kim-siot/regexp_test

Contribute to kim-siot/regexp_test development by creating an account on GitHub.

github.com

 

 

 


 

🚨 자바스크립트 정규식 생성 방식

1) 생성자 함수 방식

new RegExp('표현', '옵션')

new RegExp('[a-z]', 'gi')

2) 리터럴 방식

/표현/옵션

/[a-z]/gi

3) 정규식 표현으로 'a'찾기

const str = `
010-1234-5678
siot@email.com
http://www.omdbapi.com/?apikey=7035c60c&s=frozen
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
abbcccddd
`

const regexp = new RegExp('a', 'g') // 생성자 함수 방식
const regexp = /a/g // 리터럴 방식
console.log(str.match(regexp))

 

 

 


 

🚨 자바스크립트 메소드

💻 test()

정규식과 일치하는 특정 문자가 있는지 불린 데이터로 반환

정규식.test(문자열)

const regexp = /Ipsumd/gi
console.log(regexp.test(str)) // true

 

💻 match()

일치하는 문자열의 배열 데이터를 반환

문자열.match(정규식)

 

💻 replace()

일치하는 문자열을 대체하고 대체된 문자열을 반환

문자열.replace(정규식, 대체문자)

const regexp = /bb/gi
console.log(str.replace(regexp, 'BB'))

 

 


🚨 플래그 (옵션)

 

\.$

. (온점) : 임의의 한 문자와 일치시키는 명령이기 때문에 문자.(온점)을 찾기 위해서는 앞에 \백슬래쉬를 붙여 이스케이프 문자로 바꿔준다.

*Escape Character (이스케이프 문자) : \ 백슬래시 기호를 통해 본래의 기능에서 벗어나 상태가 바뀌는 문자

console.log(str.match(/h..p/g))

 

$ : 끝부분에 일치

str.match(/\.$/g)

 

m : 문자데이터는 하나의 시작점과 끝점이 존재하는데 m 플래그를 사용하면 줄바꿈 했을 때 각각의 줄에 또다른 시작점과 끝점을 만들어낸다고 이해

str.match(/\.$/gm)

 

 


🚨 패턴 (표현)

 

63개의 문자와 일치하지 않는 경계 + f로 시작하는 단어 찾기

str.match(/\bf\w{1,}/g)

 

숫자 찾기

str.match(/\d{1,]/g)

 

모든 공백을 찾아 제거

str.replace(/\s/g, '')

 

특정 문자 뒤에서 일치하는 문자 찾기 (?<=)

ㄴ @문자 뒤로 1개 이상 일치하는 임의의 문자 찾기

str.match(/(?<=@).{1,}/g)

 

a|b : a또는 b와 일치, 이때 플래그g를 작성하지 않으면 첫번째 패턴만 찾음

str.match(/the|text/g)

 

ab? : b가 없거나 b와 일치

str.match(/https?/g) // ["http", "https"]
728x90
+ Recent posts