정규표현식: 정리
정규표현식
참고자료
stringr::str_view()- https://regex101.com
- https://regexr.com
- https://regexper.com
대표적인 정규표현식
| 정규표현식 | 의미 |
|---|---|
n2ow |
n2ow |
[abc] |
a, b, 또는 c |
[a-z] |
문자 a에서 z까지 |
[0-9] |
0에서 9까지 |
[^abc] |
a, b, c를 제외한 모든 문자 |
[^a-z] |
a, b, c, …, z를 제외한 모든 문자 |
[\\^], [\\-] |
^, -를 [ ] 안에서 나타내기 |
\d |
숫자 |
\D |
숫자를 제외한 모든 문자 |
\w |
알파벳, 한글, 숫자(alphanumeric) |
\W |
알파벳, 한글, 숫자를 제외한 모든 문자(non-alphnumeric) |
\s |
공란(' ', '\t', '\r', '\n') |
\S |
공란을 제외한 모든 문자 |
\b |
단어 경계(word boundary): \w와 \W의 연결 |
\B |
단어 경계가 아닌 경우 |
. |
모든 문자 |
\. |
.(마침표) |
\[, \] |
[, ] |
\\ |
\ |
a{m} |
a를 m번 반복 |
[cd]{m,n} |
c 또는 d를 m에서 n번의 반복 |
* |
0번 이상의 반복 |
+ |
1번 이상의 반복 |
? |
0번 또는 1번 |
{m,n}?, *?, +?, ?? |
더 적은 횟수를 선호 |
\{, \}, \*, \+, \? |
{, }, *, +, ? |
^, $ |
시작과 끝 |
( ) |
그룹 |
(ab(cd)) |
그룹 내의 그룹 |
| (now | never) |
\^ , \$, \(, \) |
^, $, (, ) |
\1, \2 |
첫 번째, 두 번째 그룹 |
- 문자를 그대로 쓸 수 없기 때문에
\를 써야 하는 문자
. [ ] \ { } * + ? ^ $ ( ) |
POSIX 브라켓
| POSIX 브라켓 | 의미 | 다른표현 |
|---|---|---|
[:alnum:] |
알파벳과 숫자 | [a-zA-Z0-9] |
[:alpha:] |
알파벳 | [a-zA-Z] |
[:ascii:] |
아스키 문자 | [\x00-\x7F] |
[:blank:] |
Space와 Tab | [ \t] |
[:cntrl:] |
제어문자 | [\x00-\x1F\x7F] |
[:digit:] |
숫자 | [0-9] |
[:graph:] |
볼 수 있는 문자[g1] | [\x21-\x7E] |
[:lower:] |
소문자 | [a-z] |
[:print:] |
볼 수 있는 문자와 공란[g2] | [\x20-\x7E] |
[:punct:] |
문장부호와 기호 | [!“#$%&'()*+,-./:;<=>?\[\\]_{ |
[:space:] |
모든 공란 문자[g3] | [\t\r\n\v\f] |
[:upper:] |
대문자 | [A-Z] |
[:word:] |
단어 문자(문자, 숫자, 밑줄) | [A-Za-z0-9_] |
[:xdigit:] |
16진수 숫자 | [A-Fa-f0-9] |
[g1]: 공란, 제어문자 제외 모든 문자
[g2]: 제어문자 제외
[g3]: 줄바꿈 포함
정규표현식을 활용할 수 있는 함수들
dir또는list.files,apropos,find등
Approximate matching(edit-based distance)
stringdist::stringdist(a, b, method= )method='osa''lv': delete, insert, substitution'dl': delete, insert, substitution, transposition'hamming''lcs': delete, insert'gram''cosine''jaccard''jw''soundex'
Leave a comment