CAT 편집기

웹 편집기에서의 정규 표현식 (TMS)

컨텐츠는 영어 텍스트를 Phrase Language AI를 이용해 기계 번역한 것입니다.

웹 편집기에서의 정규 표현식 지원은 루씬 정규 표현식 엔진의 구현에 의해 제한됩니다.

정규 표현식을 사용하려면 필터 설정에서 정규 표현식 사용 일치를 활성화하십시오. 필터 입력 필드의 녹색 체크 마크는 유효한 정규 표현식의 성공적인 검증을 나타냅니다.

쿼리는 기본적으로 대소문자를 구분하지 않습니다. 대소문자를 구분하려면 필터 설정에서 대소문자 일치를 활성화하십시오.

단어 일치 (완전한 단어만 일치하고 긴 단어 내의 부분 문자열은 일치하지 않도록 보장)은 사용할 수 없습니다.

쿼리 ^abc$는 예상대로 작동하며, 즉 전체 세그먼트를 일치시키고, abc는 어떤 텍스트에서 부분 문자열 abc와 일치합니다.

제한 사항

부분적으로 형식이 지정된 쿼리의 올바른 대체는 지원되지 않습니다. 예를 들어, 텍스트 "\{b\>이름<}: Bob, \{biu\>성<biu\}: Dylan."에서 "이름: $1, 성: $2."를 검색하면 “{>이름: Bob, 성: Dylan\<b\}”로 대체됩니다.

지원되지 않는 패턴

  • 정확한 단어와 일치시키기 위해 사용되는 단어 경계 앵커 \b (데스크톱 편집기에서 작동).

  • \\[1-9] - 역참조 (\1, \2 등), 예: (\w+)\s+\1는 “hello hello”와 같은 중복된 단어와 일치합니다.

  • \(\?=|\(\?!|\(\?&lt;=|\(\?&lt;! - 전방 탐색 및 후방 탐색, 예: 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.*보다 훨씬 저렴합니다.

패턴이 거부되면 더 구체적으로 만들어 보십시오: 더 긴 고정 접두사로 시작하고 거기서 좁혀 나가십시오. 대안의 수를 줄이거나 모든 것을 하나의 복잡한 정규 표현식으로 결합하는 대신 별도의 패턴으로 처리하는 것을 고려하십시오.

예:

이메일 주소 필터링:

  • 이 패턴은 공백과 주변 단어를 일치시킵니다. 결과가 너무 많을 수 있습니다: .*@.*

  • 결과를 모든 이메일 주소로 제한하려면: [\w.+\-]+@[\w.+\-]+

  • 결과를 .com 이메일로만 제한하려면: [\w.+\-]+@[\w.+\-]\.com

  • 결과를 이메일 주소에 숫자가 포함된 것으로 제한하려면: [\w.+\-]*\d+[\w.+\-]*@[\w.\-]+

대체(OR 연산자)

  • cat|dog: 일치: “cat” 및 “dog”

  • red|blue|green: 일치: “red”, “blue”, “green”

문자 클래스 및 범위

  • [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”

대소문자 구분 없는 필터링 VS 대소문자 구분 있는 필터링

  • 기본적으로 정규 표현식 필터링은 대소문자 구분 없이 구현됩니다. 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를 사용하여 티켓 번호를 추출합니다 (예: ID-45321에서 티켓 #45321로)

  • 필터 (cat|dog) 및 대체 $1-$1를 사용하여 일치하는 텍스트를 복제합니다 (예: cat에서 cat-cat로, dog에서 dog-dog로)

  • 선택적 그룹: 필터 안녕하세요(, (\w+))? 및 대체 안녕 $1를 사용하여 이름 앞이나 혼자 있을 때 "안녕하세요"를 대체하여 인사말을 변환합니다 (예: 안녕하세요, John에서 안녕 John로, 안녕하세요에서 안녕로)

도움이 되었습니까?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.