정규 표현식이란
문자열 검색 패턴을 형성하는 일련의 문자를 의미
텍스트 검색 및 바꾸는 작업에 사용
이메일,id,pw같은 복잡한 문자 일치 검색 패턴으로 빠르게 수행가능
역할 search, replace, extract
테스트 사이트는 https://regex101.com/ 외 4가지 - 오쌤 사이트 참고바람
https://ossam5.tistory.com/240?category=938138
[JS강좌] 26강 자바스크립트 정규표현식(RegExp) - 오쌤의 니가스터디
1. 정규표현식(Regular Expresstions)이란? - 정규표현식이란 문자열 검색 패턴을 형성하는 일련의 문자를 의미합니다. - 검색 패턴은 텍스트 검색 및 텍스트 바꾸는 작업에 사용할 수 있습니다. - 간단
ossam5.tistory.com
자바스크립트 정규 표현식 생성
1. 변수식 선언방식
문법: var 변수명 = 표현식/플래그;
플래그 = 표현식의 옵션, 원하는 문자 검색 결과를 반환하도록 설정 / 생략가능
예시 var regExp = /^abc/gi;
2. 생성자 함수로 객체 선언방식
문법: var 변수명 = new RegExp(표현식,플래그) ; //플래그 생략가능
예시 var regExp = new RegExp("^abc","gi");
자바스크립트에서 제공하는 다양한 속성(properties) 종류
속성종류 | 설명 |
flags | 플래그를 문자열로 반환 ex) /^abc/gi.flags |
source | 표현식을 문자열로 반환 ex) /^abc/gi.source |
global | 플래그 g 여부를 불표현식으로 반환 ex) /^abc/gi.global |
ignoreCase | 플래그 i 여부를 불표현식으로 반환 ex) /^abc/gi.ignoreCase |
multiline | 플래그 m 여부를 불표현식으로 반환 ex) /^abc/gi.multiline |
sticky | 플래그 y 여부를 불표현식으로 반환 ex) /^abc/gi.sticky |
unicode | 플래그 u 여부를 불표현식으로 반환 ex) /^abc/gi.unicode |
자바스크립트에서 제공하는 다양한 메서드(method) 종류
정규표현식을 결과적으로 문자열이기 때문에 String메서드를 사용
메서드 종류 | 문법 | 설명 |
exec( ) | 정규식.exec(문자열) | 일치하는 하나의 정보 반환 |
test( ) | 정규식.test(문자열) | 일치 여부 반환 |
match( ) | 문자열.match(정규식) | 일치하는 문자열을 배열 반환 |
search( ) | 문자열.search(정규식) | 일치하는 문자열의 인덱스번호를 반환 |
replace( ) | 문자열.replace(정규식,대체문자) | 일치하는 문자열을 대체하고 문자열 반환 |
split( ) | 문자열.split(정규식) | 일치하는 문자열을 분할하여 배열로 반환 |
toString( ) | 생성자정규식.toString() | 생성자 함수 방식의 정규식을 변수 방식의 문자열로 반환 |
플래그(flags) 종류
플래그종류 | 설명 |
g | 모든 문자와 여러 줄 일치(global) |
i | 영어 대소문자를 구분하지 않고 일치(ignore case) |
m | 여러 줄 일치(multi line) |
u | 유니코드 |
y | lastIndex 속성으로 지정된 인덱스에서만 1회 일치(sticky) |
g(global) 모든 문자와 여러 줄 일치하는 경우/ 모든 문자를 검색하겠다는 의미
var noCase = test.match(/twinkle/g);
var yesCase = test.match(/twinkle/ig); -> 대소문자 가리지않고 twinkle찾음
정규식 패턴 종류는 너무 많아서 위 홈페이지에서 테스트해보면서 맞춰나가기
패턴종류 | 설명 |
^ | 줄(line)의 시작에서 일치 |
$ | 줄(line)의 끝에서 일치 |
. | 임의의 한 문자와 일치 |
a|b | a 또는 b와 일치, 인덱스가 작은 것을 우선 반환 |
* | 0회 이상 연속으로 반복되는 문자와 가능한 많이 일치. {0,}와 동일 |
*? | 0회 이상 연속으로 반복되는 문자와 가능한 적게 일치, {0}와 동일 |
+ | 1회 이상 연속으로 반복되는 문자에 가능한 많이 일치, {1,}와 동일 |
+? | 1회 이상 연속으로 반복되는 문자에 가능한 적게 일치, {1}와 동일 |
? | 없거나 1회 가능한 많이 일치 |
?? | 없거나 1회 가능한 적게 일치 |
Regex Tester - Javascript, PCRE, PHP
RegexPal requires a modern browser. Please update your browser to the latest version and try again.
www.regexpal.com
'코딩 > 자바스크립트' 카테고리의 다른 글
JS / 문서객체 영역, dataset(문서객체 사용자정의속성) (0) | 2022.04.05 |
---|---|
JS / 에러, 클래스 (0) | 2022.04.05 |
JS / DOM Node와 Forms (0) | 2022.04.05 |
JS / 문서객체생성과 이벤트 (0) | 2022.04.04 |
JS / 코딩앙마 유튜브강의 노트 (0) | 2022.04.04 |