🙄정규표현식이 뭔가요?
정규표현식(regular expression)은 일정한 패턴을 가진 문자열의 집합을 표현하기 위해
사용하는 형식 언어(formal language)입니다.
정규표현식은 문자열을 대상으로 패턴 매칭 기능을 제공합니다.
정규표현식을 사용하면 반복문과 조건문 없이 패턴을 정의하고 테스트할 수 있습니다.
하지만 가독성이 좋지 않다는 문제도 있어요
🙄정규표현식의 생성
시작기호 , 패턴 , 종료기호 ,플래그로 이루어집니다.
/regexp/i / regexp / i 시작기호 패턴 종료기호 플래그
🙄RegExp 플래그
플래그는 정규 표현식의 검색 방식을 설정하기 위해서 사용합니다.
플래그 의미 설명 i Ignore Case 대소문자를 구별하지 않고 패턴을 검색한다. g Global 대상 문자열 내에서 패턴과 일치하는 모든 문자열을 전역 검색합니다. m Multi Line 문자열의 행이 바뀌더라도 패턴 검색을 계속한다.
🙄RegExp 패턴
정규 표현식은 일정한 규칙을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어이며
정규 표현식은 패턴과 플래그로 구성됩니다.
플래그가 검색방식을 설정한다면 패턴은 문자열의 일정한 규칙을 표현하기 위해 사용합니다.
const target = "Is this all there is?"
//is 문자열과 매치하는 패턴 플래그가 생략되었으므로 대소문자를 구별합니다.
const regExp = /is/;
// target과 정규 표현식이 매치하는지 테스트합니다.
regExp.test(target) //true
// target과 정규 표현식의 매칭 결과를 구합니다.
target.match(regExp) //[ 'is', index: 5, input: 'Is this all there is?', groups: undefined ]
console.log(regExp.test(target) )
console.log(target.match(regExp) )
/*
만약 검색 대상 문자열 내에서 패턴과 매치하는 모든 문자열을 전역 검색하면서
대소문자를 구별하지 않고 검색하고자한다면?
regExp = /is/ig
target.match(regExp) -> ["Is", "is", "is"]
*/
🙄String.prototype.match
match 메서드는 대상 문자열과 인수로 전달받은 정규표현식과의 매칭 결과를
배열로 반환해주는 메서드입니다.
🙄임의의 문자열을 검색하기
.은 임의의 문자 한 개를 의미합니다. 문자의 내용은 무엇이든 상관없습니다.
const regExp = /.../g
임의의 3자리 문자열을 대소문자를 구별하여 전역 검색합니다.
🙄반복 검색
{m,n}은 앞선 패턴이 최소 m , 최대 n 반복되는 문자열을 의미하며
콤마 뒤에 공백이 있으면 정상 동작하지 않습니다.
/A{1,2}/g //1번이상 2번반복되는걸 검색 /A{2}/ // 2번 반복되는걸 검색 /{2,}/ //2번이상반복되는거 검색 /{A+}/ //한번 이상 반복되는 문자열 검색
🙄OR 검색, NOT 검색
/A|B/ /[^0-9]+/
| or 검색
^ NOT 검색
반응형
'javascript' 카테고리의 다른 글
요약 정리는 못 참지 않을까요? (13) 브라우저의 렌더링 과정 (0) | 2023.01.17 |
---|---|
요약 정리는 못 참지 않을까요? (12) 이터러블 (0) | 2023.01.17 |
요약 정리는 못 참지 않을까요? (10) 배열 (0) | 2023.01.16 |
요약 정리는 못 참지 않을까요? (9) ES6 함수의 추가 기능 (0) | 2023.01.16 |
요약 정리는 못 참지 않을까요?(8) 자바스크립트의 클래스 (0) | 2023.01.16 |