정규 표현식
2019. 4. 22. 20:54ㆍR/Basic

일반 표현
| 기호 | 역할 | 예제 |
| ^ | 패턴의 시작 | |
| [ ... ] | 문자의 범위 지정 | |
| { n } | n개의 문자 | n\d{3} : n위에 숫자가 3개 이상 |
| {n, m} | n ≤문자 갯수 ≤m | |
| { n, } | n개 이상의 문자 | |
| ( ... ) | 하나의 문자 인식 범위 | |
| * | 이전 문자가 0 or ∞ | n\d* : n뒤에 숫자가 0개 이상 |
| + | 이전 문자가 1개 이상 | n\d+ : n뒤에 숫자가 1개 이상 |
| ? | 이전 문자가 0 or 1 | apples? : s는 있을 수도 없을 수도 |
| . | 임의의 한문자 | |
| $ | 패턴의 종료 | |
| (?!) | 대소문자를 구분하지 않음 | |
| \s | 공백문자 | |
| \S | 공백이 아닌 나머지 문자 | |
| \w | 알파벳 or 숫자 | |
| \W | 알파벳 or 숫자가 아닌 나머지 문자 | |
| \d | [0-9] | |
| \D | 숫자를 제외한 문자 | |
| | | 패턴 안에서 or 연산 (txt|pdf|hwp) |
자주 쓰이는 패턴
| 기호 | 의미 |
| ^[0-9]*$ | 숫자 만 |
| ^[a-zA-Z]*$ | 영문 만 |
| ^[가-힇]*$ | 한글 만 |
| ^[a-zA-Z0-9]*$ | 영문 및 숫자 만 |
| ^[a-zA-Z0-9]+@[a-zA-Z0-9]+$ | 이메일 |
| ^01(?:0|1|[6-9]) - (?:\d{3}|\d{4}) - \d{4}$ | 휴대폰 |
| ^\d{2,3}-\d{3,4} - \d{4}$ | 일반전화 |
| ^\d{6}\-[1-4]\d{6} | 민번 |
| ([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}) | IP 주소 |
특수 패턴
| 기호 | 의미 |
| [:lower:] | [a-z] |
| [:upper:] | [A-Z] |
| [:alpha:] | [a-zA-Z] |
| [:digit:] | [0-9], \d |
| [:alnum:] | [0-9A-Za-z] |
| [:punct:] | ! " # $ % & ' ( ) * + , - . / : ; < = > ? # @ [ \ ] ^ _ ` { | } ~ |
| [:graph:] | [:alnum:] + [:punct:] |
| [:blank:] | \s, \t |
| [:space:] | tab, newline, vertical tab, form feed, carriage regurn, space |
| [:print:] | [:alnum:], [:punct:], \s |
| \\.jpg$ | alpha.jpg |
| ^[[:alpha:]]+\\.jpg | cover.jpg |
| <[^>]*> | <a> .... </a> |
| \\.[a-z]{3} | .jpg, .png, .exe |
참고 자료
Data Wrangling in R: Regular Expressions
clayford.github.io
'R > Basic' 카테고리의 다른 글
| 데이터를 클립보드에 읽고 쓰기 (0) | 2019.04.28 |
|---|---|
| 폴더에서 파일 리스트 가져오기 (0) | 2019.04.27 |
| 행렬 생성, 호출 (0) | 2019.04.20 |
| 조건문, 반복문 (0) | 2019.04.18 |
| ggplot2 기초 (0) | 2019.04.17 |