잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).
여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.
감사합니다. -현록
현록의 기록저장소
정규표현식(Regular Expression) 본문
정규표현식은 문자열에서 해당 조건에 만족하는 부분을 찾아 활용할 수 있는 방법이다.
Problem Solving에서 많은 문자열 문제 풀이에 써먹었었다.
https://ydeer.tistory.com/tag/정규표현식
시간 날 때마다 틈틈이 유용한 문법을 정리할 생각으로 만든 포스트.
Regexper
regexper.com
정규표현식을 생성하면 어떤 구조로 동작하는지 그림으로 보여준다.
기본적으로 JavaScript 스타일이라고 명시되어 있지만, 정규표현식은 형식을 거의 통일시키기 때문에 상관없이 활용 가능.
표현을 만들 때 눈으로 한 번 간단하게 검토 가능.
RegExr: Learn, Build, & Test RegEx
RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
regexr.com
직접 문자열에 정규 표현식이 적용되는지, 어느 부분을 match시키고, match시키지 못하는지 눈으로 확인 가능.
표현식을 만들고 상세히 검토 가능.
https://ko.wikipedia.org/wiki/정규_표현식
https://en.wikipedia.org/wiki/Regular_expression
https://www.w3schools.com/jsref/jsref_obj_regexp.asp
.: 모든 종류의 문자 하나
[a-z]: 알파벳 소문자 중 하나
[A-Z]: 알파벳 대문자 중 하나 (==\u)
[가-힣]: 완성형 한글 중 하나
[ㄱ-ㅎ]: 한글 자음 중 하나
[ㅏ-ㅣ]: 한글 모음 중 하나
\d: 모든 숫자(0-9) 중 하나
\D: 숫자가 아닌 문자 (==[^0-9])
\s: 공백이나 탭 중 하나 (==[ \t])
\t: 탭
\n: 줄바꿈
\r: 캐리지리턴
[]: 중괄호 사이의 문자 중 하나
[^ ]: 중괄호 사이의 문자가 아닌 것 하나. [^ab]면 a나 b가 아닌 모든 문자 중 하나.
^: 문장의 처음
$: 문장의 끝
(): 그룹으로 묶기
{m,n}: m회 이상 n회 이하
{m,}: m회 이상
{0,}: 0회 이상
*: 0회 이상
+: 1회 이상
?: 0 또는 1회.(없거나 한번만)
|: 또는. A|B 이면 A나 B
앞에 (?i)를 달면 대소문자 무시
정규표현식이 (?i)abc이면, ABC, abc, Abc, aBc, abC, ABc, AbC, aBC 모두 찾아짐.
Java에서 정규표현식 활용
Matcher m = Pattern.compile(정규표현식).matcher(문자열);
String에서 ReplaceAll 등..
'Study > Algorithm' 카테고리의 다른 글
Hash Function (0) | 2019.06.27 |
---|---|
정렬 - 버블 정렬 (0) | 2019.06.27 |
한 선이 만나는 다른 선의 수 (0) | 2019.05.11 |
정렬 - 합병 정렬 (0) | 2019.04.28 |
정렬 - 퀵 정렬 (0) | 2019.04.27 |
잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).
여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.
감사합니다. -현록