정규 표현식

hyuri·2023년 9월 20일
0

코딩테스트 연습

목록 보기
2/70

추가로 알게 될 경우 추가 예정

. : 어떤 문자와도 일치
ex) a.b = a1b, adb

* : 앞의 문자나 패턴이 0번 이상 나타날 때 일치
ex) b* = b, bb, bbb

+ : 앞의 문자나 패턴이 1번 이상 나타날 때 일치

? : 앞의 문자나 패턴이 0번 또는 1번 나타날 때 일치

[] : 대괄호 내 어떤 문자와도 일치

[^] : 대괄호 내의 어떤 문자를 제외한 나머지 문자와 일치

() : 일치시킬 부분을 그룹으로 묶을 때 사용.
그룹을 사용하여 부분 문자열을 추출하거나 조합할 수 있음.

| : 여러 패턴 중 하나와 일치할 때 사용
ex) a|b : a 또는 b와 일치함.

\ : 특수 문자를 이스케이프하거나 다양한 특수 패턴을 나타냄.
ex) \. : 점 문자 자체를 의미

^ : 문자열의 시작부분과 일치
ex) ^abc 문자열이 abc로 시작할 때 일치

& : 문자열의 끝 부분과 일치
ex) abc& : abc로 끝날 때 일치

문자 정규 표현식 패턴

(\d) : 숫자 문자와 일치 =[0-9]

(\D) : 숫자를 제외한 문자와 일치 [^0-9]

(\s) : 공백 문자와 일치 (공백, 탭, 개행 등 포함)

(\S) : 공백 문자를 제외한 문자와 일치

(\b) : 단어 경계와 일치
ex) \babc\babc 라는 단어만 일치 시킴

(\B) : 단어 경계가 아닌 위치와 일치

(\w+) : 한 개 이상의 연속된 단어 문자와 일치함.

(\ㅈ{1,2}) : 1에서 2개의 연속된 단어 문자와 일치함

(\w|\d) : 단어 문자 또는 숫자와 일치 함

([A-Za-z]) : 대문자 또는 소문자 알파벳과 일치함.

명령어

test() - 문자열이 정규 표현식과 일치하는지 여부 확인

const a = /abc/;
console.log(a.test("i like abc")); // true
console.log(a.test("i like ab")); // false

exce() - 정규 표현식과 일치하는 첫 번째 부분 문자열과 해당 정보 반환

const a = /abc/;
const result = a.exec("i like abc and Gana");
console.log(result[0]); // abc

match() - 문자열 내에서 정규 표현식과 일치하는 모든 부분 문자열을 배열로 반환

const a = /abc/g;
const str = "i like abc and Gana and abc";
const result = str.match(a);
console.log(result) // ['abc', 'abc']

search() - 문자열에서 정규 표현식과 일치하는 첫 번째 위치를 반환

const a = /abc/;
const str = "i like abc and Gana and abc";
console.log(str.search(a)); // 7
// i, , l, i, k, e, , a 

replace() - 문자열 내에서 정규 표현식과 일치하는 부분 문자열을 다른 문자열로 대체

const a = /abc/g;
const str = "i like abc and Gana and abc";
const newstr = str.replace(a, "m&m");
console.log(str); //i like abc and Gana and abc
console.log(newstr); // i like m&m and Gana and m&m

split() - 문자열을 정규 표현식을 기준으로 분할하고 배열로 반환

const a = /\s+/ // 공백을 기준으로 분할
const str = "a b c aa bb cc";
const result = str.split(a);
console.log(result); // ['a', 'b', 'c', 'aa', 'bb', 'cc']
profile
개발자가 되고 싶은 지망생

0개의 댓글