data analysis & visualization

정규표현식(R)

R2019. 3. 19. 02:36

정규표현식


library(XML)

line<-readLines(url,encoding=)

str_detect( , ‘특정값’) -특정 값이 있는지 T,F로 출력

 

strsplit 구분자 단위로 쪼개기

 

문자열에서 일치하는 패턴 찾기


str_extract : 첫 패턴만 인식

str_extract_all : 모든 패턴 인식 -> 리스트 출력

 

[^],[:^ :] : 괄호 안에 ^이 있으면 반대의 의미

ex) [^A-z] : 영어가 아닌 값 추출


\\에 해당하는 경우 대문자이면 반대의 의미

\\w 문자+숫자지만 \\W이면 문자+숫자가 아닌경우

정수 추출 : “\\d”, [0-9], [:digit:]

연결된 대문자 추출‘[A-Z]+’ , [:upper:]

연결된 영어 추출 ‘[A-z]+’ ,[:alpha:]

연결된 소문자 추출’[a-z]+’ , [:lower:]

연결된 소문자 중 길이 제한 : ‘[a-z]{1,4}’

공백 추출 : [:black:], [:space:] <- 두 개가 서로 상이함 \\s

특수문자 추출 : [:punct:]

문자+숫자 추출 : [:alnum:], \\w

공백을 제외한 모든문자 추출 : [:graph:]

공백을 포함한 모든 문자 추출 : [:print:] , .와 같음

str_extract_all(문자열,‘[-]+’) : 한글 단어 추출

str_extract_all(문자열,‘[-]+’) : 한글 추출 ‘\\p{Hangul}+’도 사용 가능

str_extract_all(문자열,boundary(‘word’)) : 단어 단위로 추출

[0-9-] 이런식으로 조합해 사용 가능

 

정량자

* 적어도 0번 매칭

+ 적어도 1번 매칭

? 많아야 한번 매칭

{n} 정확히 n번 매칭

{n,m} n번에서 m번 사이 매칭

ab*cd 이면 acd사이 b 0번이상 가진 값을 추출해준다.

ab*cd 이면 acd사이 b 1번이상 가진 값을 추출해준다.

 

^문자열 시작위치 매치

$문자열 끝 위치 매치

\\b 단어 양쪽 끝에 빈 문자열이 있으면 추출

\\bda 이면 da로시작하는 단어 중 좌우 하나라도 공백이 있으면 추출

ex)’daa’ ‘a daa ‘a da’

‘dda’da로 시작하지 않으므로 추출 안됨

 

$*+.?[]^{}|()\등을 사용하려면 \을 먼저 적고 사용해야된다

ex) \$

 

 

()역참조

gsub(‘ab’, “” ,c(‘ab’,‘ab 1’, ‘ab 3’) -> “” “ 1” “ 3”

gsub('(ab) 1','\\1 34',c('ab','ab 12','ab 3','1','ab1'))

ab를 가진 값 중 ab 11값을 34로 바꾼다.

"ab" "ab 342" "ab 3" "1" "ab1"

 str_trim(공백을 제거할 데이터)

pattern

<.+?> or <.*?> <>괄호 안에 문자 제거

(.+?)

“<.*?특정문자꺽쇠로 시작하고 특정문자를 포함하는 모든 문자 제거

 

 

'R' 카테고리의 다른 글

leaflet 지도그리기  (0) 2019.04.09
객체지향언어란  (0) 2019.04.08
이미지 벡터화해서 저장하기  (0) 2019.03.21
R 기본 플롯 사용하기  (0) 2019.03.19
R 개인 패키지만들기에서 간단한 사용법 까지(git을 활용)  (0) 2019.03.16