메타 문자 - 특별한 기능을 가지고 있는 문자
*
- *앞의 문자가 0개 이상 반복
- s*e => e , se , sse , ssse
+
- +앞의 문자가 1개 이상 반복
- a+b => ab , aab , aaab
?
- ?앞의 문자가 없거나 1개임을 나타낸다
- th?e => te , the
.
- 임의의 한문자
- s.e => sae , sbe , sce , see , sfe , .... .....
- .ce => ace , bce , cce , dce , ece , .... .....
^
- ^뒤의 문자열로 시작되는 것을 나타낸다
- ^a => abc , alphabet
- ^The => The girl , Theater
$
- $앞의 문자/문자열로 끝나는 것을 나타낸다
- a$ => area , Korea
- ^abc$ => abc
[ ]
- 기호안의 문자들 중 하나
- [abc] => a 또는 b 또는 c
- [a-z] => 알파벳 소문자
- [^a-d] => e , f , g .. ...
- 기호안의 ^이 사용되면 "제외" 라는 의미를 가지고 있음
{ }
- { }앞의 문자를 반복할 때
- a{2}b => aab
- a{2,}b => aab , aaab , aaaab ... ...
- a{2,3}b => aab , aaab
( )
- 기호안의 문자들을 그룹화 한다
- a(bc)* => a , abc , abcbc ... ..
|
- 둘 중 하나
- a|b => a , b
- a(b|c) => ab , ac
\
- 문자 자체 의미
POSIX 문자 클래스
[:alnum:]
- 알파벳 또는 숫자
- [a-zA-Z0-9]와 동일한 표현이다
[:alpha:]
- 알파벳
- [a-zA-Z]와 동일한 표현이다
[:lower:]
- 소문자
- [a-z]와 동일한 표현이다
[:upper:]
- 대문자
- [A-Z]와 동일한 표현이다
[:digit:]
- 숫자 하나
- [0-9]와 동일한 표현이다
[:space:]
- 공백문자