Crimson Editor

정규 표현식

Crimson Editor의 찾기바꾸기(검색 메뉴)는 정규 표현식으로 검색할 수 있습니다 — 정확한 문자열 대신 “무엇을 찾을지”를 패턴으로 기술하는 방식입니다. 찾기·바꾸기 대화상자에서 정규 표현식(Regular expression) 옵션을 켠 뒤, 아래 특수 문자로 패턴을 만듭니다.

예를 들어 [0-9]는 숫자 하나를, ^#include#include로 시작하는 모든 줄을 찾습니다. 특수 문자 자체를 찾으려면 앞에 백슬래시를 붙입니다 — \*는 별표(*) 문자와 일치합니다.

특수 문자

문자의미
^줄의 시작. ^A는 줄 맨 앞의 “A”에만 일치합니다.
$줄의 끝. abc$는 줄 맨 끝의 “abc”에만 일치합니다.
.임의의 한 문자.
*바로 앞 항목이 0회 이상 반복.
+바로 앞 항목이 1회 이상 반복(최소 한 번).
?바로 앞 항목이 0 또는 1회.
|선택(alternation) — 양쪽 중 하나가 일치. a|b는 “a” 또는 “b”에 일치합니다.
[ … ]문자 클래스 — 괄호 안 문자 중 하나에 일치. -로 범위를 지정합니다(예: [0-9], [a-z]).
[^ … ][ 바로 뒤의 캐럿(^)은 클래스를 부정합니다. [^0-9]는 숫자가 아닌 문자에 일치합니다.
( … )하위 패턴을 묶고, 바꾸기에서 쓸 태그 표현식으로 캡처합니다(아래 참고).
\이스케이프 — 뒤따르는 특수 문자를 문자 그대로 일치. \.는 실제 마침표에 일치합니다.

태그 표현식 (바꾸기)

괄호는 단순히 묶기만 하는 게 아니라, 각 ( … )가 일치한 텍스트를 기억해 두어 바꾸기 칸에서 다시 쓸 수 있게 합니다.

  • & 또는 \0 — 일치한 전체 텍스트.
  • \1, \2, \3, … — 첫 번째, 두 번째, 세 번째… 괄호가 캡처한 텍스트.

그래서 (Mr)(\.)로 찾고 \1s\2로 바꾸면 Mr.Mrs. 로 바뀝니다 — \1은 “Mr”, \2는 ”.”, 그 사이에 “s”를 넣은 것입니다.

예제

원본찾기바꾸기결과
Mr.(Mr)(\.)\1s\2Mrs.
abc(a)b(c)&-\1-\2abc-a-c
bcd(a|b)c*d&-\1bcd-b
abcde(.*)c(.*)&-\1-\2abcde-ab-de
cde(ab|cd)e&-\1cde-cd

Crimson Editor의 정규 표현식 엔진은 Henry Spencer의 라이브러리를 기반으로 합니다.