-
정규 표현식 - 이제는 확실하게 알고 가자!Code Etc/코딩테스트 2022. 11. 16. 03:20반응형
코딩테스트를 풀다 보면 정규표현식이 필요할 때가 생긴다.
하지만 쉽게 이해하기도 어려운 개념이고 복잡하기 때문에 미뤄왔다.
같은 코드를 3번 반복하게 되면 리팩토링하라는 말이 있듯이
정규표현식을 너무 자주 마주하게 됐으므로 이제는 공부한다..
어려운만큼 유용하고 좋은 기술이니 꼭 알아두도록 하자.
정규 표현식이란?
Regular Expression이라고 하고 줄여서 regex로 표현한다.
뜻은 특정 패턴의 문자열을 찾기 위한 표현방식이라고 이해하면 쉽다.
형식
/패턴/플래그
위와 같은 형식을 갖고 있으며
패턴은 매칭시킬 내용을 의미한다.
플래그 옵션은 주로 하나만 찾거나 모두 다 찾거나 하는 등 옵션이다.
매칭패턴
a-zA-Z : 영어 알파벳(-으로 범위 지정)
ㄱ-ㅎ가-힣 :한글 문자(-으로 범위 지정)
0-9 : 숫자(-으로 범위지정)
. : 모든 문자열(공백 포함! 단, 줄바꿈x)
\d : 숫자
\D : 숫자가 아닌 것
\w : 영어알파벳, 숫자, 언더스코어
\W : \w가 아닌것
\s : 공백
\S : 공백이 아닌것
\특수기호 : 특수기호검색 패턴
| : OR
[] : 괄호 안의 문자들 중 하나
[^문자] : 괄호 안의 문자를 제외한것
^문자열 : 특정 문자열로 시작
문자열$ : 특정 문자열로 끝남
() : 그룹 검색 및 분류
(?:패턴) : 그룹검색
\b : 단어의 처음/끝
\B : 단어의 처음/끝이 아님갯수 패턴
? : 최대 한 번
* : 없거나 있거나
+ : 최소 한개
{n} : n개
{Min,} : 최소 Min개 이상
{Min,Max} : 최소 Min개 이상, 최대 Max개 이하플래그
g : global 모든 문자 검색
i : ignore Case 대소문자 구분 안함
m : mulit line 여러 행의 문자열에 대해 검색
플래그는 여러개 동시에 사용이 가능하다주로 사용하는 매서드
문자열.match(정규표현식) : 정규표현식에 매칭되는 항목들을 배열로 반환
문자열.replace(정규표현식,대체문자열) : 매칭되는 항목을 대체문자열로 변환
문자열.split(정규표현식) : 문자열을 정규표현식에 매칭되는 항복으로 쪼개어 배열로 반환
정규표현식.test(문자열) : 문자열이 정규표현식과 매칭되면 true 아니면 false
정규표현식.exec(문자열) : match와 유사하지만 첫 번째 매칭결과만 반환한다.이정도면 웬만한 정규표현식은 만들 수 있다.
이를 잘 활용하려면 많이 써봐야하는데
정규표현식 문제를 모아놓은 사이트들도 많다.
RegexOne - Learn Regular Expressions - Lesson 1: An Introduction, and the ABCs
Regular expressions are extremely useful in extracting information from text such as code, log files, spreadsheets, or even documents. And while there is a lot of theory behind formal languages, the following lessons and examples will explore the more prac
regexone.com
위 사이트도 정규표현식 푸는 곳인데
나도 열심히 풀어야겠다...
그럼 화이팅!!!
반응형'Code Etc > 코딩테스트' 카테고리의 다른 글
프로그래머스 LV 1 완파! (0) 2022.12.10 JS에서 항상 찾아오는 시간초과...중복 제거 기능 사용하기 [...new Set()] (0) 2022.12.07 소수 찾는 법 (0) 2022.11.15 JavaScript Array.Sort() - 배열 오름차순, 내림차순 정렬하기 (0) 2022.11.12 최대 공약수와 최소공배수 (0) 2022.11.09