너와 나의 프로그래밍

JAVA - 정규식으로 문자열 찾기 본문

Back-End/Java Example

JAVA - 정규식으로 문자열 찾기

Whatever App's 2018. 5. 25. 14:28

 

 

 

 

[JAVA] 정규식 - 해당 문자열 찾기

 

 

 

 

 

정규식의 대해서 공부를 하다가 문득 궁금한 점이 있어서 네이버 지식 in에 질문을 하게 되었다.

(실제로 정규식 코드를 다 외우고 있는 사람이 있을까 싶다;;;)

 

 

 

 

 

위 내용을 간략하게 설명하자면 많은 문자열 중에 자신이 원하는 문자가 포함된 문자열만 찾고 싶은 것이다.

 

 

이런식으로 답장이 왔다.(답변해 주신 분 너무 고맙습니다 ㅠㅠ...)

 

Pattern pattern = Pattern.compile("(\\b\\S*Hello\\S*\\b)");

 

위 코드를 분석하는데 꾀 어려웠다;; 정규식 잘하시는 분들 진짜 부럽다;;

 

1. "()" <- 소괄호 안의 문자를 하나의 문자로 인식하게 함

2. \   <- 역슬래시 다음에 일반 문자가 오면 특수문자로 취급하고, 역슬래시 다음에 특수문자가 오면 그 문자 자체를 의미한다.

3. \b <- 문자열의 문자의 사이를 경계로 표현했다. (예 : |HelloJava| |Hello| |Hi|)

4. \S <- 공백 문자가 아닌 나머지 문자

5. *    <- 앞 문자가 없을 수도, 무한정 많을 수도 있다.

 

실제로 정규식이 많은 곳에 쓰일 것 같다는 생각이 들었다. 

 

기본적으로 전화번호, 이메일, 비밀번호, 주민번호(지금 쓰나?)가 정상적인 형식으로 입력 되어있는지...

 

물론 String 객체를 활용해서 간단하게 처리하는 방식도 있지만,

 

정규식을 많이 써보는 것도 중요한 것 같다.

 

 

 

 

 

정규식의 대한 자세한 것은 https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

반응형

'Back-End > Java Example' 카테고리의 다른 글

JAVA - 문자열  (0) 2018.05.23
JAVA - HashMap, HashSet 간략 정리  (2) 2018.02.22
JAVA - ArrayList, LinkedList 간략 정리  (0) 2018.02.21
JAVA - Active Directory(LDAP) 연결 예제 소스  (0) 2017.09.22