정규 표현식 |
정규 표현식은 기호상수가 아니라 패턴을 검색하는데 사용할 수 있다. 예를 들어, SciTE 특성 파일에 있는 변수들을 찾을 수 있다. $(name.subname)처럼 보이는데 이를 정규 표현식으로 표현하면:
\$([a-z.]+)
(포식스 모드라면 \$\([a-z.]+\)
).
정규 표현식에서 태그붙은 표현식을 사용하면 복잡한 변형을 교체할 수 있다. 예를 들어, 숫자 쌍이 ','로 구분되면 정규 표현식을 교체해서 순서를 바꿀 수 있다:
posix 모드에서는 \([0-9]+\),\([0-9]+\)
(또는 ([0-9]+),([0-9]+)
, 아니면 심지어 (\d+),(\d+)
)를
다음과 같이 바꿀 수 있다:
\2,\1
정규 표현식 문법은 매개변수 find.replace.regexp.posix에 의존한다:
0으로 설정하면, 구문은 구형 유닉스 스타일을 사용한다. \(
와 \)
표식은 부분을 나포하는데 사용하고 반면 (
그리고 )
는 그 자체로 문자이다.
설정이 1이면, 구문은 현대적인 스타일을 사용한다. (
그리고 )
표식은 부분을 나포하는데 사용하고 \(
그리고 \)
는 평범한 괄호이다.
. \ [ ] * + ? ^ $
and ( )
.
.
\
\a
, \b
, \f
,
\n
, \r
, \t
, \v
는 상응하는 C 피신 문자에 일치한다. 순서대로 BEL, BS, FF, LF, CR, TAB 그리고 VT이다;\r
과 \n
은 절대로 부합하지 않는다는 것을 주의하라. 왜냐하면 Scintilla에서 정규 표현식은 줄당 검색이 이루어지기 때문이다 (줄끝 문자가 제거됨).
[
set]
^
이면, 그 집합에 없는 문자에 일치한다. 즉, 그 집합의 여집합에 일치한다. S부터 E까지 문자집합을 지정하는데 간략하게 S-E
(시작 - 끝)이 사용된다. 특수 문자 ]
그리고 -
는 집합에서 첫 문자로 나타나면 아무 의미도 갖지 않는다. 둘 모두 포함하려면, 앞에 -를 두자: [-]A-Z]
(아니면 그냥 역사선을 붙여 처리하자).
예제 | 부합 |
[-]|] | 세 문자에 부합한다 |
[]-|] | ]에서 | 문자까지 일치한다 |
[a-z] | 소문자 알파벳 |
[^-]] | - 그리고 ]를 제외하고 모든 문자 |
[^A-Z] | 알파벳 대문자를 제외한 모든 문자 |
[a-zA-Z] | 알파벳 문자 |
*
*
)가 오면 그 형태가 0개 이상 부합한다.
+
?
)가 따르지 않는 한 말이다. 이 경우 [5]와 [6] 모두 되도록이면 덜 일치한다.
?
\(form\)
(또는 posix에서는 (form)
)와 같이 둘러싸면 form에 부합하는 것에 부합한다. 울타리(enclosure)는 태그 집합을 만든다. [9]에 사용되고 패턴 교체에 사용된다. 태그 붙은 형태는 1부터 번호가 매겨진다.
\
다음에 1부터 9까지의 숫자가 오면 앞에서 부합한 태그 정규표현식에 부합한다 ([8]).
\< \>
\<
구조로 시작하고 \>
구조로 끝나는 정규 표현식은 패턴이 단어의 시작과 끝에 부합하도록 제한한다. 단어는 A-Z a-z 0-9 그리고 _ 문자로 시작하고 끝나는 문자열로 정의된다. Scintilla는 이 정의를 사용자가 설정하도록 확장한다. 단어는 반드시 앞과 뒤에 위에서 언급한 문자들을 제외한 문자가 와야 한다.\l
\xHH
^ $
이 문서 대부분은 최초 오잔(Ozan S. Yigit)이 작성했다.
닐(Neil Hodgson)과 필리페(Philippe Lhoste)가 추가했다.
이 문서는 공개 영역에 위치한다.