잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).

여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.

감사합니다. -현록

후원해주실 분은 여기로→

현록의 기록저장소

정규표현식(Regular Expression) 본문

Study/Algorithm

정규표현식(Regular Expression)

현록 2019. 5. 5. 17:15

정규표현식은 문자열에서 해당 조건에 만족하는 부분을 찾아 활용할 수 있는 방법이다.

 

Problem Solving에서 많은 문자열 문제 풀이에 써먹었었다.

https://ydeer.tistory.com/tag/정규표현식

 

시간 날 때마다 틈틈이 유용한 문법을 정리할 생각으로 만든 포스트.

 

 


 

https://regexper.com/

 

Regexper

 

regexper.com

정규표현식을 생성하면 어떤 구조로 동작하는지 그림으로 보여준다.

기본적으로 JavaScript 스타일이라고 명시되어 있지만, 정규표현식은 형식을 거의 통일시키기 때문에 상관없이 활용 가능.

표현을 만들 때 눈으로 한 번 간단하게 검토 가능.

 

 

https://regexr.com/

 

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://docs.microsoft.com/ko-kr/dotnet/standard/base-types/regular-expression-language-quick-reference

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
Comments

잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).

여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.

감사합니다. -현록

후원해주실 분은 여기로→