-
Regular Expression 정규표현식(1) Character개발입문/JAVA 2017. 9. 19. 23:46
이 포스트는 Character 하나 하나를 표기하는 방법에 대해 정리합니다.
여기서 Character 는 글자, 숫자, 공백 모두를 포함합니다.
컴퓨터(컴파일러) 는 String 문자열을 char [] 로 인식합니다.
즉, 우리도 글자마다의 조합으로 패턴을 구성해야 합니다.
Meta Character
특별한 뜻 (정해진 규칙) 을 가지는 캐릭터 들입니다.
만약 정해진 규칙을 escape 하려면 \ 를 앞에 붙이거나, \Q ... \E 로 감싸야 한다.
- 괄호 < ( { [ ] } ) >
- 특수문자 ^ - = $ ! | ? * + .
Character Class
[ ] 안의 규칙은 모두 한 글자에 대한 규칙을 명세한다.
요 규칙들을 클래스라고 지칭합니다. (a.class 아니고!)
[논리연산자]
집합을 생각하면 쉬운 개념입니다.
^ : 부정, negation
- : 범위 range
&& : 교집합 intersection
[ [ ]] : 합집합 union
[ &&[^ ]] : 차집합 subtracton
Construct Description [abc]
a, b, or c (simple class) [^abc]
Any character except a, b, or c (negation) [a-zA-Z]
a through z, or A through Z, inclusive (range) [a-d[m-p]]
a through d, or m through p: [a-dm-p] (union) [a-z&&[def]]
d, e, or f (intersection) [a-z&&[^bc]]
a through z, except for b and c: [ad-z] (subtraction) [a-z&&[^m-p]]
a through z, and not m through p: [a-lq-z] (subtraction) Predefined Character
아래 표기들은 숫자, 공백, 문자가 들어온다는 약속을 지정해놓았습니다.
그리고 . 은 숫자,공백,문자 무엇이던지 어느 한 글자가 있어야함을 의미합니다.
. 아무거나 한글자
d 숫자 digit
s 공백 space
w 글자(알파벳, 숫자, 공백) word
대문자 반대, \D 는 \d 숫자캐릭터의 반대
Construct Description .
Any character (may or may not match line terminators) \d
A digit: [0-9]
\D
A non-digit: [^0-9]
\s
A whitespace character: [ \t\n\x0B\f\r]
\S
A non-whitespace character: [^\s]
\w
A word character: [a-zA-Z_0-9]
\W
A non-word character: [^\w]
[ 정규표현식 포스트 ]
1. Character Classes
글자, 숫자, 공백 등을 표시하는 기법, [ ] 캐릭터 하나, ( ) 캐릭터 여러개
http://haloaround.tistory.com/admin/entry/post/?id=1832. Quandifiers
캐릭터가 몇번 반복되는지, 그리고 어떻게 이런것들을 검색하는지
http://haloaround.tistory.com/admin/entry/post/?id=1843. Capturing Groups & Boundary Match
매칭단위는 무엇이고 매칭결과를 어디에서 찾아야하는지 등의 검색 조건을 지정하는 기법
http://haloaround.tistory.com/admin/entry/post/?id=1854. Java Pattern and Matcher Class
Input Sequence 리소스에서 Pattern 에 부합하는 것을 검색하는 기능
http://haloaround.tistory.com/admin/entry/post/?id=186'개발입문 > JAVA' 카테고리의 다른 글
Regular Expression 정규표현식(3) Capturing Group and Boundarys Matchers (0) 2017.09.24 Regular Expression 정규표현식(2) Quantifiers (1) 2017.09.24 정규표현식 Regular Expression (0) 2017.09.19 Java Locale 처리 (0) 2017.09.14 Wrapper Class 래퍼클래스 (0) 2017.09.12