웹 편집기에서의 정규식 지원은 Lucene Regex 엔진 구현에 의해 제한됩니다.
정규식을 사용하려면 필터 설정에서 을 활성화하십시오. 필터 입력 필드의 녹색 확인 표시는 유효한 정규식이 성공적으로 검증되었음을 나타냅니다.
문의는 기본적으로 대소문자를 구분하지 않습니다. 대소문자를 구분하려면 필터 설정에서 을 활성화하십시오.
(더 긴 단어 내의 하위 문자열이 아닌 전체 단어만 일치 항목으로 찾도록 보장)은 사용할 수 없습니다.
문의 ^abc$은 예상대로 작동하여 전체 세그먼트를 일치 항목으로 찾지만, 는 모든 텍스트에서 하위 문자열 abc을 일치 항목으로 찾습니다.
제한 사항
부분적으로 서식이 지정된 문의의 올바른 교체는 지원되지 않습니다. 예를 들어, 텍스트 "First name<}: Bob, Last name: Dylan."에서 "Jméno: $1, Příjmení: $2."을 검색하면 "{>Jméno: Bob, Příjmení: Dylan"로 교체됩니다.
지원되지 않는 패턴
-
정확한 단어를 일치 항목으로 찾는 데 사용되는 단어 경계 앵커
\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-(?# year)\d-(?# month)\d(?# day)를 사용하여 "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”
.+ - 최소 한 글자가 나타나야 함
-
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,}: 모든 대문자 시리즈와 일치합니다(예: 약어 또는 대문자로 작성된 Strings 일치에 유용) -
[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\"를 강조 표시합니다. 캡처 그룹을 바꾸기에 사용할 수 있습니다. 예: ”Name: Bob”은 Name: (.*?)로 검색하고 Jméno: $1에 대한 역참조를 사용하여 바꿀 수 있습니다. 누락된 역참조는 원활하게 처리됩니다. 즉, 문의 Name: (.*?)와 바꾸기 Jméno: $1, Title: $2는 Jméno: Bob, Title: $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,})및 바꾸기Ticket #$1를 사용하여 티켓 번호를 추출합니다(예: 에서 로) -
필터
(cat|dog)및 바꾸기$1-$1를 사용하여 일치하는 텍스트를 복제합니다(예: cat에서 cat-cat으로, dog에서 dog-dog으로) -
선택적 그룹: 필터
Hello(, (\\w+))?및 바꾸기Hi $1를 사용하여 이름 앞이나 단독으로 있는 \"Hello\"를 바꾸어 인사말을 변환합니다(예: 에서 으로, 에서 로)