정규 표현식

2019. 4. 22. 20:54R/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