유틸리티 가져오기

정규식 (TMS)

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

정규식(regex 또는 regexp로 약칭)은 주로 Strings 또는 문자열 일치 패턴 매칭에 사용하기 위한 검색 패턴을 형성하는 글자 시퀀스입니다. 기능은 더 복잡하고 구체적인 찾기 및 바꾸기 작업과 유사하거나 정의된 콘텐츠를 제외하는 방법과 유사합니다. 정규식에 대한 자세한 설명과 사용된 글자 표는 wikipedia 가입을 참조하십시오.

여러 정규식을 한 번에 사용하려면 그 사이에 파이프라인 글자 |를 삽입하십시오.

정규식은 CAT Editor의 필터, 검색 및 바꾸기 필드, 콘텐츠 검색 기능<2>의 소스 및 대상 필드, 파일 가져오기 설정태그로 변환 기능, 세그먼트 분할 규칙 사용자 지정에 사용할 수 있습니다. 변환기와 CAT Desktop Editor는 Java regex를 사용하고, CAT Web Editor와 TMS 검색은 Lucene regex 엔진을 사용합니다.

AI 챗봇은 정규식을 생성하고 검증하는 데 매우 효과적일 수 있습니다.

Regex101과 같은 도구를 사용해 다양한 입력값으로 정규식을 테스트하십시오.

중요 사항

Phrase는 Java regex를 지원하지만, 시스템 과부하를 방지하기 위해 복잡한 정규식은 거부합니다. 복잡한 정규식은 다른 수량자(소유격 제외)를 포함하는 그룹에 수량자(소유격 제외)가 있는 정규식입니다.

일반 사례

파일 가져오기 시 텍스트를 태그로 변환하고 데스크톱 편집기에서 필터링 및 바꾸기 기능을 위해 정규식을 사용하는 사례:

사례

설명

<[^>]+>

represents <html_tag>

\{[^\}]+\}

{variable}을(를) 나타냅니다,

\[[^\]]+\]

[variable]을(를) 나타냅니다,

\[\[.+?\]\]

represents [[aa[11]bb]].

\$[^\$]+\$

$operator_Name1$을(를) 나타냅니다.

\d+

숫자를 나타냅니다. 또한, [0-9]+

[A-Za-z0-9]

모든 영숫자 글자를 나타냅니다.

.+\@.+\..+

email address name@domain.com

\d{4}[-]\d{2}[-]\d{2}

날짜 2018-08-01

\s$

세그먼트 끝의 공백입니다.

^\s

세그먼트 시작 부분의 공백입니다.

\s\s

이중 공백입니다.

^\d

세그먼트 시작 부분의 숫자입니다.

\w+\s\s\w+

단어 사이의 이중 공백입니다.

\s\n

모든 공백 글자 뒤에 오는 줄 바꿈입니다.

\S\n

공백이 아닌 모든 글자 뒤에 오는 줄 바꿈입니다.

<[^>]+>|\$[^=]+=

php 변수와 html 코드를 변환합니다 ($svariable['name'] =).

^\s*\'[^:]+:

줄 시작 부분에 공백이 추가된 자바스크립트의 필드 키를 변환합니다 ( '키' :).

\{\{[^\}]+\}\}|\'[^']+\'

{{text here}} '{{text here}} 콘텐츠를 번역하지 않고 태그로 변환합니다.

\{\{[^\}]+\}\}

{{}} 괄호 사이의 텍스트를 나타냅니다.

\([^\)]+\)

() 괄호 사이의 텍스트를 나타냅니다.

\^[^\^]+\^

^ 표시 사이의 문자열을 나타냅니다

\@[^\@]+\@

@ 표시 사이의 문자열을 나타냅니다

\^[^\^\?]+\?

^ 및 ? 표시 사이의 문자열을 나타냅니다

\'[^']+\'

' ' 아포스트로피 사이의 문자열을 나타냅니다

\"[^"]+\"

\"\" 따옴표 사이의 문자열을 나타냅니다

\%[^\%]+\%

% 기호 사이의 문자열을 나타냅니다

\$\{[^}]*\}

${ 및 } 사이의 문자열을 나타냅니다. 예: ${variable}

\$[a-zA-Z0-9\-_]+

$로 시작하는 문자열을 나타냅니다. 예: $appName

(?<=\: ").*(?=")

콜론과 공백 뒤의 큰따옴표 안의 문자열을 나타냅니다. 예: \"key\": \"value\" 문자열에서 value

(?<=\\: ').*(?=')

콜론과 공백 뒤의 작은따옴표 안의 문자열을 나타냅니다. 예: user: 'JohnDoe' 문자열에서 JohnDoe

(?<=\=).*(?=)

등호 뒤에 공백 없이 오는 문자열을 나타냅니다. 예: key=value

(.*)=

등호 앞의 문자열을 나타냅니다

=(.*)

등호 뒤의 문자열을 나타냅니다

\/\/\S*

하이퍼링크를 나타냅니다. Also, https:\/\/\S*

</?mrk[^>]*>

HTML/XML 열기 및 닫기 mrk 태그를 나타냅니다. 예: <mrk id=\"abc\"> 및 </mrk>

TXT 가져오기

참고

TMS에서 TXT 파일은 줄 단위로 처리되므로 다른 환경에서 작동하는 특정 정규 표현식이 예상대로 작동하지 않을 수 있습니다.

특정 텍스트를 가져올 때의 정규 표현식 예시:

  1. ## ErrorMessage ##1## 숫자는 0보다 커야 합니다. ##Z##

    ##1####Z## 사이의 텍스트를 가져오기 하려면, regex를 사용하십시오: (?<=##1## ).*(?= ##Z##)

  2. ErrorMessage ("숫자는 0보다 커야 합니다.")

    ("와 ") 사이의 텍스트를 가져오기 하려면, regex를 사용하십시오: (?<=\\(\").*(?=\"\\))

  3. 'errorMessage' = '숫자는 0보다 커야 합니다.'

    = 기호 뒤와 '와 ' 사이의 텍스트를 가져오기 하려면, regex를 사용하십시오: (?<=\\= ').*(?=')

  4. errorMessage = "이것은 번역될 것입니다"

    = 기호 뒤와 '' 사이의 텍스트를 가져오기 하려면 regex를 사용하십시오: (?<=\\= \").*(?=\")

  5. msgstr ("숫자는 0보다 커야 합니다.")

    ##1##와 ##Z## 사이의 텍스트를 가져오기 하려면, regex를 사용하십시오: (?<=##1## ).*(?= ##Z##)

  6. ErrorMessage ("숫자는 0보다 커야 합니다.")

    ("와 ") 사이의 텍스트를 가져오기 하려면, regex를 사용하십시오: (?<=\\(\").*(?=\"\\))

  7. 'errorMessage' = '숫자는 0보다 커야 합니다.'

    = 기호 뒤와 '와 ' 사이의 텍스트를 가져오기 하려면, regex를 사용하십시오: (?<=\\= ').*(?=')

errorMessage = "이것은 번역될 것입니다"

= 기호 뒤와 '와' 사이의 텍스트를 가져오기 하려면 regex를 사용하십시오: (?<=\\= \").*(?=\")

{
"list": {
        "id": "1",
        "value": "text 1 for translation."
        },
"text": {
        "id": "2",
        "value": "text 2 for translation."
        },
"menu": {
        "id": "3",
        "value": "text 3 for translation."
         },"array": ["blue","green"],"arrays": [{        "color": "blue",        "title": "BLUE"
         },         {        "color": "green",        "title": "GREEN"         }    ]}
  • msgstr ("숫자는 0보다 커야 합니다.")

  • TXT 필터를 사용하여 단일 언어 PO 파일에서 msgstr Strings를 가져오기 하려면, regex를 사용하십시오: (?<=msgstr \").*(?=\")

  • # 참고: 이것은 참고입니다

  • #로 시작하는 줄을 제외하려면, regex를 사용하십시오: (^[^#].*)

  • 특정 키를 따르는 JSON 배열의 콘텐츠를 가져오려면 다음을 사용하십시오: (^|.*/)array\\[.*\\]

  • 객체의 특정 배열의 콘텐츠를 가져오려면 다음을 사용하십시오: (^|.*/)arrays\\[.*\\].*

YAML 가져오기

YAML 파일 예시:

title: A
text: translate A
categories:
  title: B
  text: translate B
categories:
  title: C
  text: translate C
categories:
  content:
      title: D
      text: translate D

가져오기를 위한 정규식:

  • 'translate A'만 : text

  • 'translate C'만: categories\\[2\\]/text

  • only 'translate D': categories\[\d+\]/content[\1\]/text

  • all text: text|categories\[\d+\]/text|categories\[\d+\]/content[\d+\]/text

세그먼트 분할 규칙

Okapi, JavaUnicode는 .SRX 파일의 세그먼트 분할 규칙에 사용됩니다.

.SRX 파일에서 정규식을 사용하는 것은 복잡하므로 정규식 사용에 대한 기본 지식을 갖춘 후 작업하는 것이 좋습니다.

Nobreak 규칙(약어 등) 및 Break 규칙(마침표로 끝나는 문장 등)은 .SRX 파일에 있습니다.

사례

설명

[\p{C}]

보이지 않는 제어 글자.

[\p{Z}]

공백

[\p{Lu}]

소문자 변형이 있는 대문자.

[\p{N}]

모든 종류의 숫자 글자.

\Q ... \E

인용구의 시작과 끝 - (\\QApprox.\\E). 이는 약어에 사용됩니다.

\t

탭 문자

\n

줄 바꿈

\u2029

단락 구분 기호

\u200B

너비 없는 공백

\u3002

표의 문자 마침표

\ufe52

작은 마침표

\uff0e

전각 마침표

\uff61

반각 표의 문자 마침표

\ufe56

작은 물음표

\uff1f

전각 물음표

\u203c

겹느낌표

\u2048

물음느낌표

\u2762

굵은 느낌표 장식

\u2763

굵은 하트 느낌표 장식

\ufe57

작은 느낌표

\uff01

전각 느낌표

`[\u0080-\uFFFF]+`

Unicode 범위 \u0080에서 \uFFFF까지의 문자

`[\u00a8\u00b9\u00c4]+`

대괄호 안의 지정된 Unicode 문자가 한 번 이상 나타남(예: \u00a8 + \u00b9 + \u00c4)

공통 사용자 지정 QA 검사

QA 검사

소스 정규식

대상 정규식

대상에 추가된 숫자

\d 

\d 

태그 순서 (쌍이 없는 태그, 태그 3개인 세그먼트용).

필요한 태그 수에 따라 정규식을 조정하십시오.

^.*\{1\}.*\{2\}.*\{3\}.*$

^.*\{1\}.*\{2\}.*\{3\}.*$

태그 순서 (쌍으로 된 태그, 태그 3개인 세그먼트용).

필요한 태그 수에 따라 정규식을 조정하십시오.

^.*\\{1\\>.*\\<1\\}.*\\{2\\>.*\\<2\\}.*\\{3\\>.*\\<3\\}.*$

^.*\\{1\\>.*\\<1\\}.*\\{2\\>.*\\<2\\}.*\\{3\\>.*\\<3\\}.*$

태그 앞 공백

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

태그 뒤 공백

(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})\s

(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})\s

태그 앞 공백 없음

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

쌍으로 된 태그 뒤의 공백이 아닌 문자

((\{[1-9][0-9]*>)|(<[1-9][0-9]*\}))\S

((\{[1-9][0-9]*>)|(<[1-9][0-9]*\}))\S

대괄호 누락

[^\[\]]*\[[^\[\]]*\][^\[\]]* 

[^\[\]]*\[[^\[\]]*\][^\[\]]* 

소괄호 누락

[^\(\)]*\([^\(\)]*\)[^\(\)]* 

[^\(\)]*\([^\(\)]*\)[^\(\)]* 

적절한 언어별 소수점 구분 기호를 사용하여 동일한 십진수 개수를 확인하려면 다음 정규식을 사용하십시오.

(?<;n1>;\d+)\.(?<;n2>;\d+)

(?<;n1>;\d+),(?<;n2>;\d+)

도움이 되었습니까?

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.