너와 나의 프로그래밍
JAVA - 정규식으로 문자열 찾기 본문
[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 |