-
정규표현식 widh JavaScript기본 지식/정규표현식 2021. 6. 10. 12:12
정규표현식 (RegExp)
문자열을 검색하고 대체, 추출하는데 사용 가능한 일종의 형식 언어(패턴)
// 생성자 new RegExp('표현', '옵션') new RegExp('[a-z]', 'gi') //리터널 /표현/옵션 /[a-z]/gi
정규표현식을 다루는 메소드
정규식.test(문자열) // 일치 열부(Boolean) 반환 문자열.match(정규식) // 일치하는 문자열의 배열(Array) 반환 문자열.replace(정규식,대체문자) // 일치하는 문자열을 대체하고 대체된 문자열(String) 반환
// 예제 const str = ` 010-1234-5678 ITBlue@tistory.com The quick brown fox jumps over the lazy dog. abbccccdddd ` const regexp = /fox/gi // true console.log(regexp.test(str)) // 010-1234-5678 // ITBlue@tistory.com // The quick brown AAA jumps over the lazy dog. // abbccccdddd console.log(str.replace(regexp, 'AAA')) // 010-1234-5678 // ITBlue@tistory.com // The quick brown fox jumps over the lazy dog. // abbccccdddd console.log(str)
플래그 (옵션)
플래그(옵션) g | 모든 문자 일치 (global) i | 영어 대소문자를 구분 않고 일치 (ignore case) m | 여러 줄 일치 (multi line)
패턴
^ab | 줄(Line) 시작에 있는 ab와 일치 ab$ | 줄(Line) 끝에 있는 ab와 일치 . | 임의의 한 문자와 일치 a|b | a 또는 b와 일치 ab? | b가 없거나 b와 일치 {3} | 3개 연속 일치 {3,} | 3개 이상 연속 일치 {3,5} | 3개 이상 5개 이하 연속 일치
[abc] | a 또는 b 또는 c [a-z] | a 부터 z 사이의 문자 구간에 일치 (영어 소문자) [A-Z] | A 부터 Z 사이의 문자 구간에 일치 (영어 대문자) [0-9] | 0 부터 9 사이의 문자 구간에 일치 (숫자) [가-힣] | 가부터 힣 사이의 문자 구간에 일치 (한글) \w | 63개 문자 (Word, 대소영문52개 + 숫자10개 + _)에 일치 \b | 63개 문자에 일치하지 않는 문자 경계 (Boundary) \d | 숫자 (Digit)에 일치 \s | 공백 (Space, Tab 등)에 일치 (?=) | 앞쪽 일치 (Lookahead) (?<=) | 뒤쪽 일치 (Lookbehind)
참조
https://heropy.blog/2018/10/28/regexp/
정규표현식, 이렇게 시작하자!
매일 쓰는 것도, 가독성이 좋은 것도 아니지만, 모르면 안되는 정규표현식. 저는 이렇게 공부하기 시작했습니다! (자바스크립트를 기준으로 설명합니다)
heropy.blog