본문 바로가기
PC 추천 유틸리티/Sakura Editor

Sakura Editor 다운로드 및 사용법(3) - 정규 표현식

by Life in the World 2023. 1. 4.
반응형

안녕하세요. 오랜만의 포스팅입니다.

최근에 일이 좀 많아서 포스팅을 작성할 시간이 없었네요.. ㅠ

 

이번에는 Sakura Editor의 정규 표현식에 대한 포스팅 시작하겠습니다.

반응형

먼저 정규 표현식이 어떤건지부터 알아볼까요?

 

사전에 정의된 정규 표현식의 의미는 다음과 같습니다.

정규 표현식이란 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식언어다. 

즉, 특정한 규칙을 가진 문자열을 검색하거나 수정할 때, 유용하게 사용될 수 있습니다.

 

예를 들어보겠습니다.

다음과 같이 작성된 문서가 있습니다.

# 예제.txt
1abcdef
a2bcdef
ab3cdef
abc4def

이 문서에서 모든 숫자를 '9'로 바꾸고 싶을때, 정규 표현식을 사용하지 않는다면 직접 하나하나 수정을 해야합니다.

 

하지만 위 예시처럼 모든 숫자를 '9'로 바꾼다는 규칙을 가진 상황에서 정규 표현식을 사용한다면,

단 한번의 수정으로 모든 숫자를 바꿀 수 있습니다.

 

[1-9] 로 모든 숫자를 검색 후 '9'로 치환하면 되기 때문이죠.

 

여태까지 정규 표현식에 대한 간단한 설명과 필요성에 대해 이야기했습니다.

이제부터 본격적으로 Sakura Editor에서 사용할 수 있는 정규 표현식이 어떤게 있는지 알아보겠습니다.

## 메타문자, 기본요소
「메타문자」란、특수한 의미나 기능을 가진 문자를 뜻합니다.

\     ;# 직후에 위치하는 메타 문자를 이스케이프
|     ;#「|」의 좌우문자열 중 한개(조건식)
(...) ;# 식 집합 (그룹화).
[...] ;# 문자 집합(문자 클래스).


## 문자집합
[ABC]       ; # A 또는 B 또는 C인 경우
[^ABC]      ; # A 또는 B 또는 C가 아닌 경우
[a-z]       ; # a 부터 z 사이에 포함된 경우
[A-Z]       ; # A 부터 Z 사이에 포함된 경우
[0-9]       ; # 0 부터 9 사이에 포함된 경우
[0-9a-zA-Z] ; # 범위 조합


### 패턴 일치
*             ; # 모든 문자열(개행 포함)
+             ; # 직전의 패턴이 1회 이상의 반복(개행 미포함)
?             ; # 직전의 패턴이 0회나 1회
{N}           ; # 직전의 패턴이 N번 반복
{min,}        ; # 직전의 패턴이 min회 이상 반복
{,max}        ; # 직전의 패턴이 max회 이하 반복
{min,max}     ; # 직전의 패턴이 min회 ~ max회 반복
●.*●          ; # 처음 ●부터 마지막 ●까지 일치


## 문자 \ t ; # 탭, 수평 탭 코드 (HT, TAB).
\n      ; # 개행 코드 (Carriage Return)※UNIX계 전반.
\r      ; # 개행 코드 (Line Feed) ※ Mac OS (9 이전).
\n\r    ; # 개행 코드 (CRLF) ※ Windows 계열 전반.
\R      ; # 모든 줄 바꿈 코드 ( "\n|\r|\n\r"과 동의어).
[\b]    ; # 후퇴 공백 / 백 스페이스 (BS).
\f      ; # 양식 피드 / 페이지 나누기 (FF).
\e      ; # 대피 수식 / 이스케이프 코드 (ESC).
\v      ; # 수직 탭 (VT : Vertical Tab)이라는 줄 바꿈 코드.
\c●     ; # Ctrl + ● ## 문자 유형 . ; # 줄 바꿈을 제외한 모든 문자.
\w      ; # 단어의 구성 문자. [a-zA-Z0-9_]와 동의.
\W      ; # 단어의 구성 문자 이외. [^a-zA-Z0-9_]와 동의어.
\s      ; # 공백 문자(반각 공백, \t, \n, \r, \f) 모든 문자. [ \t\v\x0a\x0d]와 동의어
\S      ; # 공백을 제외한 모든 문자
\d      ; #10진 숫자. [0-9]와 동의.
\D      ; # 십진수 이외. [^0-9]와 동의.
\l      ; # 영문소문자
\L      ; # 영문자 소문자 이외의 문자 
\u      ; # 대문자
\U      ; # 대문자
\0      ; # NULL
\p{Han} ; # 한자 (Unicode 속성)


## 위치(앵커)
문자 자체가 아니라 "위치" 를 표현하는 것

^  ; # 라인 헤더
$  ; # 줄 끝
\b ; # 단어의 경계 ※ [] 안에서는 백 스페이스가 된다.
\B ; # 단어의 경계 이외
\A ; # 문자열의 시작
\Z ; # 문자열의 끝 (마지막이 줄 바꿈이면 줄 바꿈 바로 앞)
\z ; # 문자열의 끝
\G ; # 조합 시작 위치


## 조건식
(?=●●●)             ;# ●●●과 일치
(?<=●●●)            ;# 문자열의 뒷 부분이 ●●●과 일치
(?!●●●)             ;# ●●●과 불일치
(?<!●●●)            ;# 문자열의 뒷 부분이 ●●●과 불일치
^(?!●●●).*$         ;# ●●●으로 시작하지 않는 문자열
^.*(?<!●●●)$        ;# ●●●으로 끝나지 않는 문자열
^(?!.*●●●).*$       ;# ●●●를 포함하지 않는 문자열
(?<=\【).*?(?=\】)  ;#【  】의 사이만 일치하는 문자열

 

Sakura Editor에서 사용되는 정규 표현식에 대해 알아보았습니다.

감사합니다.

 

Sakura Editor 다운로드 및 사용법(1) - 개발자를 위한 Text Editor

 

Sakura Editor 다운로드 및 사용법(1) - 개발자를 위한 Text Editor

안녕하세요. 개발하시는 분들이 사용하기 좋은 Sakura Editor란 텍스트 에디터를 소개하고자 합니다. 한국에서 개발하시는 분들은 생소할지 모르겠지만, 일본에서 개발하시는 분들은 많이 접해보

litw.tistory.com

 

Sakura Editor 다운로드 및 사용법(2) - 기본 기능

 

Sakura Editor 다운로드 및 사용법(2) - 기본 기능

안녕하세요. 이번 포스팅에는 Sakura Editor의 기본 기능에 대해 소개하고자 합니다. 1. 검색 2. 변환 3. Grep 4. 북마크 5. 화면 분할 Sakura Editor가 없는 분들은 이전 포스팅을 확인해주세요. Sakura Editor

litw.tistory.com

 

반응형

댓글