정규식을 위한 특수문자 예약어 및 의미
^ : 문자열 처음 ex) ^a : 문자열 처음이 a로 시작함
$ : 문자열 끝 ex) a$ : 문자열 끝이 a로 끝남
+ : 앞 글자가 1개 이상 존재함 ex) a+ : a라는 글자가 1개 이상이다.
* : 앞 글자가 0개 이상 존재함 ex) a* : a라는 글자가 없거나 반복된다.
? : 앞 글자가 없거나 1개 존재 ex) a? : a라는 글자가 없거나 1개만 있다.
. : 모든 글자
{} : 반복횟수 ex) a{3} : a라는 글자가 3번 반복됨. a{3,5} : a라는 글자가 3~5회 반복됨
[] : 문자열 그룹 ex) [abc] : a or b or c 문자 , 범위는 [a-zA-Z0-9] 와 같이 -기호로 표시
[^abc] : 해당 문자들을 제외함(not)
() : 괄호안의 내용을 그룹화
\d : 숫자
\s : 공백문자
\S : 공백이 아닌문자
\w : 알파벳, 숫자, 언더바(_)
예제
1. 문자열에서 [ , ] 문자들을 찾아 제거하라
'[' , ']' 는 예약어이므로 예약어가 아닌 문자라는 의미로 '\[' 로 표기해야 한다.
하지만, 문자열내의 '\'는 다시 특수문자 예약어이기에 '\\[' 로 적어줘야 정상적이 표시가 이루어진다.
String value = "[test]";
String result = value.replaceAll( "[\\[\\]]", "");
2. < > 으로 쌓여진 문자열이 포함되는지 확인하라
<,> 는 별도의 정규식 예약어가 아니다. < 로 시작하고, >로 끊나는 문자열 들을 찾으면 된다.
<+ : < 문자가 1개 이상이어야 함.
>+ : > 문자가 1개 이상이어야 함.
[a-zA-Z]* : 알파벳(대/소)만을 가지며 그 수는 제한없음.
if( value.matches("<+[a-zA-Z]*>+") ) {
}
단순하게 <와 > 여부만 검사해도 된다. "<[^<|>]*>"
'프로그래밍 > JAVA' 카테고리의 다른 글
Apache HttpClient 관련 정리 (0) | 2014.03.11 |
---|---|
[JAVA TV] MHP 배경이미지 처리 (0) | 2013.12.27 |
[JAVA TV] 타이머 (0) | 2013.12.27 |
[awt] 이미지 읽기~ (0) | 2013.12.17 |
GSON 간단 사용 예 (0) | 2013.09.12 |
CRC16-CCITT crc생성함수 (0) | 2012.10.04 |
ExecutorService (0) | 2012.05.11 |
클래스 동적 생성,호출 (리플렉션) (0) | 2010.09.04 |
이클립스(갈릴레오) SVN 설정 (0) | 2009.11.12 |
쓰레드 기본 (0) | 2009.11.10 |