웹 편집기에서의 정규 표현식 지원은 루씬 정규 표현식 엔진의 구현에 의해 제한됩니다.
정규 표현식을 사용하려면 필터 설정에서 를 활성화하십시오. 필터 입력 필드의 녹색 체크 마크는 유효한 정규 표현식의 성공적인 검증을 나타냅니다.
쿼리는 기본적으로 대소문자를 구분하지 않습니다. 대소문자를 구분하려면 필터 설정에서 를 활성화하십시오.
(완전한 단어만 일치하고 긴 단어 내의 부분 문자열은 일치하지 않도록 보장)은 사용할 수 없습니다.
쿼리 ^abc$는 예상대로 작동하며, 즉 전체 세그먼트를 일치시키고, 는 어떤 텍스트에서 부분 문자열 abc와 일치합니다.
제한 사항
부분적으로 형식이 지정된 쿼리의 올바른 대체는 지원되지 않습니다. 예를 들어, 텍스트 "\{b\>이름<}: Bob, \{biu\>성<biu\}: Dylan."에서 "이름: $1, 성: $2."를 검색하면 “{>이름: Bob, 성: Dylan\<b\}”로 대체됩니다.
지원되지 않는 패턴
-
정확한 단어와 일치시키기 위해 사용되는 단어 경계 앵커
\b(데스크톱 편집기에서 작동). -
\\[1-9]- 역참조 (\1, \2 등), 예:(\w+)\s+\1는 “hello hello”와 같은 중복된 단어와 일치합니다. -
\(\?=|\(\?!|\(\?<=|\(\?<!- 전방 탐색 및 후방 탐색, 예:cat(?=\.jpg)는 “cat.jpg”에서만 “cat”과 일치합니다. -
\(\?:- 비캡처 그룹, 예: (?:Mr|Mrs|Ms)\. \w+,그러나 캡처 그룹(Mr|Mrs|Ms)\. \w+는 지원되며 “Mrs. Smith”, “Mr. Brown”과 같은 이름과 일치합니다. -
\(\?#- 인라인 주석, 예:\d{4}-(?# 연도)\d{2}-(?# 월)\d{2}(?# 일)는 “2025-06-25”와 일치합니다. -
\(\?P<[^>]+>- 명명된 캡처 그룹, 예: (?P<amount>\d+)\s?(?P<currency>USD|EUR)는 “150 USD”와 “99 EUR”와 일치합니다.
점 (.)은 모든 단일 문자의 자리 표시자로 사용됩니다.
-
c.at: 일치 항목: “chat”, “coat”입니다. 일치하지 않음: “cat”, “cheat”입니다. -
wa.ter: 일치 항목: “waiter”, “waster”입니다. 일치하지 않음: “water”입니다. -
s.ip: 일치 항목: “skip”, “ship”, “slip”입니다. 일치하지 않음: “sip”, “strip”입니다.
? - 0회 또는 1회 발생합니다.
-
colou?r: 일치 항목: “color”, “colour”입니다. -
g?rain: 일치 항목: “grain”, “rain”입니다. -
books?: 일치 항목: “book”, “books”입니다.
.* - 문자 수에 관계없이 (없음 포함)입니다.
-
h.*y: 일치 항목: “happy”, “history”, “honey”입니다. -
sa.*d: 일치 항목: “sad”, “sand”, “satisfied”입니다. -
m.*ing: 일치 항목: “morning”, “meeting”, “marketing”입니다.
.+ - 최소 1개의 문자가 나타나야 합니다.
-
pa.+er: 일치 항목: “paper”, “painter”입니다. -
a.+ed: 일치 항목: “asked”, “accepted”, “allowed”입니다.
* - 0회 또는 그 이상의 발생입니다.
-
go*al: 일치 항목: “goal”, “goooooooal”입니다.
+ - 하나 이상의 발생
-
no+: 일치: “no”, “noooooo” -
$1+: 일치: “$1”, “$11”, “$111”
가능한 한 구체적인 패턴을 사용하는 것이 좋습니다. 열린 패턴은 편집기에서 성능 문제를 일으킬 수 있습니다.
중요
편집기에는 정규 표현식 패턴의 복잡성에 대한 내장 제한이 있습니다. 너무 광범위하거나 와일드카드를 많이 사용하는 패턴은 유효하지 않은 정규 표현식으로 실패할 수 있습니다. 이를 피하려면:
-
패턴을 짧고 구체적으로 유지하십시오.
error-[0-9]{3}는 괜찮지만;.*a.*b.*c.*d.*는 아닙니다. -
와일드카드를 최소화하십시오. 각
.+또는.*는 내부 복잡성을 곱합니다. 가능한 경우[A-Z]+와 같은 문자 클래스를.*보다 선호하십시오. -
반복이 있는 긴 대체를 피하십시오.
(word1|word2|...|word20){2,}와 같은 패턴은 한계에 빠르게 도달할 수 있습니다. 대안에 여러 단어 또는 구두점이 포함되면 정규 표현식의 복잡성이 증가합니다. -
가능한 경우 한쪽을 고정하십시오.
^prefix.*는.*middle.*보다 훨씬 저렴합니다.
패턴이 거부되면 더 구체적으로 만들어 보십시오: 더 긴 고정 접두사로 시작하고 거기서 좁혀 나가십시오. 대안의 수를 줄이거나 모든 것을 하나의 복잡한 정규 표현식으로 결합하는 대신 별도의 패턴으로 처리하는 것을 고려하십시오.
예:
-
[A-Z]+: 연속된 하나 이상의 대문자와 일치합니다(시퀀스). -
[A-Z]{2,}: 대문자의 시리즈와 일치합니다(예: 약어 또는 대문자로 작성된 문자열과 일치하는 데 유용함) -
[0-9]{4}: 네 자리 숫자와 일치합니다. 예: "1999", "2003", "1876" (네 자리 이상의 문자열 내에서도 발견됨; 결과를 제한하려면, 향후 계획된 일치 단어 옵션을 사용해야 함) -
[A-Za-z0-9]+: 모든 영숫자 문자열과 일치합니다(hello! → hello는 일치하지만, !는 [A-Za-z0-9]의 일부가 아님; 100% → 오직 100만 일치함) -
([A-Za-z]+\d+|\d+[A-Za-z]+): 숫자와 문자의 조합과 엄격히 일치합니다. 예: “user123”, “Admin99”, “Win11”, “5g”, “1080p” -
[0-9]{2,4}-[A-Z]{2,3}: 번호판과 일치합니다. 예: “12-XY”, “9999-ABC”
-
\+[0-9]{1,2}: 일치 “+40”, “+1” -
\{version: [0-9]+\}: 일치 “{version: 12}”, “{version: 13}” -
C:\\[A-Za-z]+: 일치 “C:\Users”, C:\Documents, “C:\Desktop”
-
기본적으로 정규 표현식 필터링은 대소문자 구분 없이 구현됩니다.
c.at: 일치하는 항목: “chat”, “Chat”, “CHAT” 및 “coat”, “Coat”, “COAT” -
정규 표현식 필터링은 UI 필터와 결합될 수 있습니다.
정규 표현식 캡처 그룹이 인식되며 전체 쿼리가 강조 표시됩니다. 예: s(e)g는 "seg"를 강조 표시합니다. 캡처 그룹은 대체에 사용될 수 있습니다. 예: “이름: Bob”은 이름: (.*?)로 검색할 수 있으며 이름: $1를 사용하여 대체할 수 있습니다. 누락된 백레퍼런스는 우아하게 처리됩니다. 즉, 쿼리 이름: (.*?)와 대체 이름: $1, 제목: $2는 이름: Bob, 제목: $2로 대체됩니다.
대체 백레퍼런스의 예:
-
필터
(\d+),(\d+)및 대체$1.$2를 사용하여 소수 구분 기호를 정규화합니다 (예: 5,6 또는 35,949에서 5.6 또는 35.949로) -
필터
(\d+)\.(\d+)및 대체$1,$2를 사용하여 소수 구분 기호를 정규화합니다 (예: 5.6 또는 35.949에서 5,6 또는 35,949로) -
필터
(\d{4})-(\d{2})-(\d{2})및 대체$3/$2/$1를 사용하여 날짜 형식을 변경합니다 (예: 2025-06-05에서 05/06/2025로) -
필터
ID-(\d{3,})및 대체티켓 #$1를 사용하여 티켓 번호를 추출합니다 (예: 에서 로) -
필터
(cat|dog)및 대체$1-$1를 사용하여 일치하는 텍스트를 복제합니다 (예: cat에서 cat-cat로, dog에서 dog-dog로) -
선택적 그룹: 필터
안녕하세요(, (\w+))?및 대체안녕 $1를 사용하여 이름 앞이나 혼자 있을 때 "안녕하세요"를 대체하여 인사말을 변환합니다 (예: 에서 로, 에서 로)