말랑한 하루

[Algorithm] 정규 표현식 (Regular Expression) 본문

Algorithm

[Algorithm] 정규 표현식 (Regular Expression)

지수는말랑이 2022. 7. 20. 17:49
반응형

자주 사용하는 정규표현식 관련 MDN 정리

var pattern = /pattern/flags;
var regex = new RegExp(pattern);

 

[ Methods ]

//uselly
test()			: 문자열에 일치하는 부분 확인, return true/false;
//unuselly
exec()			: 문자열에 일치하는 부분 탐색, return []/null;
match()			: 캡처그룹 포함 모든일치 확인, return []/null;
matchAll()		: 캡처그룹 포함 모든일치 확인, return 반복기 반환
//string
search()		: 문자열에 일치하는 부분 탐색, return index/-1;
replace()		: 문자열에 일치하는 부분 탐색, 첫 문자 대체문자열로 변환
replaceAll()		: 문자열에 일치하는 부분 탐색, 모든 문자 대체문자열로 변환
split()			: 정규표현식 문자열 리터럴을 사용해 부분 문자열 배열로 나눔

 

[ Flags ]

//uselly
g		: 전역탐색(전체)
i		: 대소문자 구분안함
//unuselly
d		: 부분 문자열 일치에 대한 인덱스 생성
m		: 여러줄에 걸쳐 탐색
s		: 개행 문자가 .과 일치
//not understand
u		: unicode
y		: "접착 탐색"

 

[ Types ]

//uselly
^		: 시작과 일치
$		: 입력의 끝과 일치
//unuselly
\b		: 단어의 경계와 일치
\B		: 단어가 아닌 경계와 일치

 

[ Character classes ]

.				: 줄 종결자를 제외한 모든 문자와 일치
[xyz], [x-z]			: 포함된 문자 중 하나와 일치
[^xyz], [^x-z]			: 포함된 문자를 제외한 문자와 일치
\d				: [0-9]
\D				: [^0-9]
\				: 특수문자를 문자로 인식하게 하기 위해 처리하는 경우, 캐릭터 클래스를 사용하는 경우 이용
\w				: [A-Za-z0-9_]
\W				: [^A-Za-z0-9_]
x|y				: x또는 y와 일치

 

[ using ]

//example_1
function matches(o1, o2) {
    var pattern = o2.replace(/\*/g, ".");
    var reg = new RegExp(`\^${pattern}\$`);
    //var reg = new RegExp("/\^"+ pattern "\$/");
    return reg.test(o1);
}
반응형
Comments