유틸리티 가져오기

정규식 (TMS)

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

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

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

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

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

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

일반 사례

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

사례

설명

<[^>]+>

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## 사이의 텍스트를 가져오려면 다음 정규식을 사용하십시오: (?<=##1## ).*(?= ##Z##)

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

    (\" 및 \") 사이의 텍스트를 가져오려면 다음 정규식을 사용하십시오: (?<=\\(\").*(?=\"\\))

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

    = 기호 뒤와 ' 및 ' 사이의 텍스트를 가져오려면 다음 정규식을 사용하십시오: (?<=\\= ').*(?=')

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

    = 기호 뒤와 'and' 사이의 텍스트를 가져오려면 다음 정규식을 사용하십시오: (?<=\\= \").*(?=\")

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

    단일 언어 PO 파일에서 TXT 필터를 사용하여 msgstr Strings을 가져오려면 다음 정규식을 사용하십시오: (?<=msgstr \").*(?=\")

  6. # 참고: 이것은 참고입니다

    #(으)로 시작하는 줄을 제외하려면 다음 정규식을 사용하십시오: (^[^#].*)

  7. 값 '126', 'DCeT', 'Text (en)'

    따옴표 안에 있고 (en)이(가) 포함된 텍스트만 가져오려면(예: Text (en)'), 다음 정규식을 사용하십시오: (?<=')[^']*\\(en\\)(?=')

JSON 가져오기

JSON 구조 예시:

{
"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"         }    ]}
  • 레벨에 관계없이 모든 값을 가져오려면 다음을 사용하십시오: (^|.*/)value

  • 목록에서 하나의 값만 가져오려면 다음을 사용하십시오: list/value

  • 목록 및/또는 메뉴에서 값을 가져오려면 | (OR) 연산자를 사용하십시오: list/value|menu/value

  • 메뉴에서 값의 첫 번째 인스턴스만 가져오려면 다음을 사용하십시오: menu\\[1\\]/value

  • 특정 키를 따르는 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

세그먼트 분할 규칙

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

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

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

사례

설명

[\p{C}]

보이지 않는 제어 글자.

[\p{Z}]

공백

[\p{Lu}]

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

[\p{N}]

모든 종류의 숫자 글자.

\Q ... \E

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

\t

탭 문자

\n

줄바꿈

\u2029

문단 구분 기호

\u200B

0 너비 공백

\u3002

표의 문자 마침표

\ufe52

작은 마침표

\uff0e

전각 마침표

\uff61

반각 표의 문자 마침표

\ufe56

작은 물음표

\uff1f

전각 물음표

\u203c

겹느낌표

\u2048

물음느낌표

\u2762

굵은 느낌표 장식

\u2763

굵은 하트 느낌표 장식

\ufe57

작은 느낌표

\uff01

전각 느낌표

`[\u0080-\uFFFF]+`

\\u0080에서 \\uFFFF까지의 유니코드 범위에 있는 문자

`[\u00a8\u00b9\u00c4]+`

대괄호 안에 지정된 유니코드 문자가 한 번 이상 나타남(예: \\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.