- ì •ê·œí‘œí˜„ì‹�
- ì •ê·œí‘œí˜„ì‹�/templete
- ì •ê·œí‘œí˜„ì‹�/소프트웨어
- ì •ê·œí‘œí˜„ì‹�/스터디/메타문ìž�사용하기
- ì •ê·œí‘œí˜„ì‹�/스터디/메타문ìž�사용하기/ì˜ˆì œ
- ì •ê·œí‘œí˜„ì‹�/스터디/문ìž�집합으로찾기
- ì •ê·œí‘œí˜„ì‹�/스터디/문ìž�하나찾기
- ì •ê·œí‘œí˜„ì‹�/스터디/반복찾기/ì˜ˆì œ
- ì •ê·œí‘œí˜„ì‹�/스터디/ì˜ˆì œë¬¸ì œ/ì�´ìŠ¹í•œ
1. ì�´ìŠ¤ì¼€ì�´í”„ 다시 살펴보기(ìƒ�호) ¶
ì •ê·œí‘œí˜„ì‹�ì�„ ì�´ìš©í•˜ì—¬ 메타문ìž� ê·¸ ìž�체를 찾기 위해서는 ì�´ìŠ¤ì¼€ì�´í”„ 문ìž�를 사용하면 ë�œë‹¤.
[ 는 \[
] 는 \]
\ 는 \\
[ 는 \[
] 는 \]
- ë°°ì—´ì�„ 검색하기 위해 í™œìš©í• ìˆ˜ 있다.
\ 는 \\
- 윈ë�„ìš° 시스템ì—�서 í�´ë�”ì�˜ 구분ì�„ ì—슬래시(\)로 하는 반면ì—� 리눅스 시스템ì�€ 슬래시(/)를 사용한다. ë”°ë�¼ì„œ ì�´ê²ƒì�„ 변경하기 위해 ì‚¬ìš©í• ìˆ˜ 있다.
2. 공백문ìž� 찾기(í™�기) ¶
메타문ìž�는 ì�¼ë°˜ì �으로 ë‘� 가지 범주로 나뉜다.
\b 백스페�스
\f 페�지 넘김(form feed)
\n 줄바꿈
\r �리지 리턴
\t íƒ
\v 수ì§� íƒ
- �스트(ex : .)
- ì •ê·œ 표현ì‹� 문법ì�˜ ì�¼ë¶€ë¡œ 쓰는 문ìž�(ex : [])
\b 백스페�스
\f 페�지 넘김(form feed)
\n 줄바꿈
\r �리지 리턴
\t íƒ
\v 수ì§� íƒ
3. íŠ¹ì •í•œ 문ìž� 형태와 ì�¼ì¹˜ 시키기(준ì„�) ¶
ìž�주쓰는 문ìž� 집합들ì�€ 특수한 메타 문ìž�로 ëŒ€ì‹ í•˜ì—¬ 찾기ë�„ 한다. ì�´ëŸ° 메타 문ìž�들ì�„ 문ìž� í�´ëž˜ìФ(classes of characters)ë�¼ê³ 부른다.
[0-9] = [0123456789] 와 ê°™ì�€ê±¸ 알것ì�´ë‹¤. ì�´ê²ƒì�„ [0-9] 보다 ë�” 편한게 ì°¾ìœ¼ë ¤ë©´ '\d'로 ì°¾ì�„수 ìžˆê³ ì œì™¸í•˜ê³ ì°¾ê¸°ëŠ” '\D'로 [^0-9]를 ëŒ€ì‹ í• ìˆ˜ 있다. 위와 ë³´ë©´ 깨달ì�„수 있다시피 ì •ê·œ 표현 문법ì�€ 대소문ìž�를 구별하며 소문ìž�와 대문ìž�를 서로 반대임ì�„ 뜻한다.
'\w'는 �문�와 숫�를 �함하며
'\W'는 ì˜�문ìž�와 숫ìž�를 ì œì™¸í•œê²ƒì�„ 찾는것ì�´ë‹¤.
'\W'는 ì˜�문ìž�와 숫ìž�를 ì œì™¸í•œê²ƒì�„ 찾는것ì�´ë‹¤.
그것ì�€ 다ì�Œì�˜ 예문으로 본보기로 í• ê²ƒì�´ë‹¤.
3.1. 예문 ¶
ì •ê·œ 표현ì‹�
\w\d\w\d\w\d
\w\d\w\d\w\d
11213
48237
A1C2E348075
48237
M1B4F290046
H1H2H2
위ì�˜ 예문ì—�서는 ì •ê·œí‘œí˜„ì‹�ì�´ 숫ìž�로만ì�´ ì�´ë£¨ì–´ì§„것ë�„ ì°¾ì�„수 있어야하지만 찾지 못하는걸 볼수있다.
ê·¸ ì�´ìœ 는 ... ì±…ì—� ì •í™•ížˆ 안 나왔다. 추후 ì°¾ì•„ë³´ê² ë‹¤.
ì�´ ì˜ˆì œ ë§�ê³ ëŠ”
'\s' ëª¨ë“ ê³µë°±ë¬¸ìž� '\S' ëª¨ë“ ê³µë°±ë¬¸ìž�를 ì œì™¸
'\c' 는 ëª¨ë“ ì œì–´ë¬¸ìž� '\C' ëª¨ë“ ì œì–´ë¬¸ìž�를 ì œì™¸
16진수 표현 � 사용
'\x'를 붙여 10진수 10ì�€ '\x0A'로 í‘œí˜„í• ìˆ˜ 있다. ì�´ 문ìž�를 사용한다면 '\n'ê³¼ 기능ì�´ 같다
8진수 표현 � 사용
'\0'ì�„ 붙여 사용한다. '\011'ì�€ '\t'ê³¼ ê°™ê³ ê·¸ë ‡ê²Œ 사용 í• ìˆ˜ìžˆë‹¤.
* ì�´ì™€ ê°™ì�€ 기능ì�„ 사용하여 ì •ê·œí‘œí˜„ì‹�ì�„ ë�”ìš± 간결하게 만들수 있ì�„ 것ì�´ë‹¤.
4. í�¬ì§�스 문ìž� 분류 사용하기 ¶
- �바스�립트는 ��스 문� �래스를 지�하지 않는다.
4.1. í�¬ì§�스 문ìž� 분류표 ¶
[:alnum:] | [a-zA-Z0-9] |
[:alpha:] | [a-zA-Z] |
[:blank:] | 빈칸�나 [\t]와 같다. |
[:cntrl:] | 아스키 ì œì–´ë¬¸ìž�. 0-31, 127번 |
[:digit:] | [0-9] |
[:graph:] | [:print:]와 ë�™ì�¼í•˜ë‚˜ ë¹ˆì¹¸ì œì™¸ |
[:lower:] | [a-z] |
[:print:] | ì¶œë ¥ê°€ëŠ¥í•œ ëª¨ë“ ë¬¸ìž� |
[:punct:] | [:alnum:]ì�´ë‚˜ [:cntrl:]ê°€ í�¬í•¨ë�˜ì§€ 않ì�€ ëª¨ë“ ë¬¸ìž� |
[:space:] | 빈칸ì�„ í�¬í•¨í•œ ëª¨ë“ ê³µë°±ë¬¸ìž� [\f\n\r\t\v] |
[:upper:] | [A-Z] |
[:xdigit:] | ëª¨ë“ 16진수 숫ìž� [a-fA-F0-9]와 같다 |
4.2. 예 ¶
- HRGB 코드 값 찾기
#[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]
- 주ì�˜í• ì �ì�€ 대괄호가 ë‘�번 들어간다. posix 표현ì�€ :xdigit: ì�´ê¸° 때문ì—� 문ìž�ì§‘í•©ì�„ ì •ì�˜í•˜ë ¤ë©´ 대괄호를 한번 ë�” ì�¨ì¤˜ì•¼ 한다.
5. ì •ë¦¬í•´ë³´ìž� ¶
- 문ìž�와 문ìž� 집합으로 찾는 기본 ë‚´ìš©ì�€ 2장과 3장ì—�서 모ë‘� ë°°ì› ê³ , ì�´ 장ì—�서는 íŠ¹ì • 문ìž�나 ì „ì²´ ì§‘í•© 혹ì�€ 문ìž� í�´ëž˜ìŠ¤ì™€ ì�¼ì¹˜í•˜ëŠ” 메타 문ìž�를 소개했다. ì�´ë ‡ê²Œ 메타 문ìž�와 í�¬ì§�스 í�´ëž˜ìŠ¤ëŠ” ì •ê·œ 표현ì‹� 패턴ì�„ 단순하게 ë§Œë“ ë‹¤.










