Written by
Nostrss
on
on
Regular Expression
Regular Expression
정규표현식이란 문자열에서 특정 문자 조합을 찾기 위한 패턴입니다.
javascript에서 정규식은 객체로 exec()와 test() 메서드를 사용할 수 있습니다.
- exec() 메서드는 주어진 문자열에서 일치 탐색을 수행한 결과를 배열 혹은 null로 반환합니다.
- test() 메서드는 주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 또는 false로 반환합니다.
정규 표현식 만들기
1. 정규 표현식 리터럴
- 슬래시 안에 정규표현식을 작성한다.
const re = /ab+c/ // / 정규표현식 /
- 정규 표현식 리터럴은 스크립트를 불러올 때 컴파일되므로, 바뀔 일이 없는 패턴의 경우 리터럴을 사용하면 성능이 향상될 수 있습니다.
2. RegExp 객체의 생성자 호출
const re = new RegExp('ab+c')
- 생성자 함수를 사용하면 정규 표현식이 런타임에 컴파일됩니다. 바뀔 수 있는 패턴이나, 사용자 입력 등 외부 출처에서 가져오는 패턴의 경우 이렇게 사용하는 것이 좋다.
예시
/010-1234-5678/.test('010-1234-5678') // true
/^010-1234-5678$/.test('010-1234-5678') // true
/^\d+-1234-5678$/.test('010-1234-5678') // true
/^\d+-1234-5678$/.test('0100000-1234-5678') // true
/^\d+-1234-5678$/.test('010a0-1234-5678') // false
/^\d{3}-1234-5678$/.test('010a0-1234-5678') // false
/^\d{3}-1234-5678$/.test('0100-1234-5678') // false
/^\d{3}-1234-5678$/.test('010-1234-5678') // true
/^\d{3}-\d{3,4}-\d{4}$/.test('0100-1234-5678') // false
/^\d{3}-\d{3,4}-\d{4}$/.test('010-1234-5678') // true
/^\d{3}-\d{3,4}-\d{4}$/.test('010-124-5678') // true
너무나 그 방법과 조건, 예시등이 많아서 MDN 사이트를 보면서 복습해야 할 것 같다.