반응형
안녕하세요. 오랜만의 포스팅입니다.
최근에 일이 좀 많아서 포스팅을 작성할 시간이 없었네요.. ㅠ
이번에는 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 다운로드 및 사용법(2) - 기본 기능
반응형
'PC 추천 유틸리티 > Sakura Editor' 카테고리의 다른 글
Sakura Editor 다운로드 및 사용법(2) - 기본 기능 (0) | 2022.12.26 |
---|---|
Sakura Editor 다운로드 및 사용법(1) - 개발자를 위한 Text Editor (0) | 2022.12.26 |
댓글