말랑한 하루
[Algorithm] 정규 표현식 (Regular Expression) 본문
반응형
자주 사용하는 정규표현식 관련 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);
}
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm] 최장 공통 부분 수열 (LCS, Longest Common Subsequence) (0) | 2023.08.30 |
---|---|
[Algorithm] 유클리드 호제법 (Euclidean) (0) | 2023.08.30 |
[Algorithm] 순열 (Permutation) (0) | 2022.07.18 |
[Algorithm] 조합 (Combination) (0) | 2022.07.18 |
[Algorhtm] 후위 표기 식 (Postfix Expression) (0) | 2021.02.07 |
Comments