유틸리티 가져오기

정규식 (TMS)

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

정규식(약어: regex 또는 regex)은 문자열 또는 문자열 일치에서 패턴 일치를 위해 주로 사용되는 검색 패턴을 형성하는 문자 시퀀스입니다. 기능은 찾기 및 바꾸기 작업과 유사하지만 더 복잡하고 구체적이거나 정의된 콘텐츠를 제외하는 방법으로 사용됩니다. 정규식 및 사용된 문자에 대한 자세한 설명은 위키백과 항목을 참조하십시오.

여러 정규식을 동시에 사용하려면 그들 사이에 파이프 문자 |를 삽입하십시오.

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

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

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

중요 사항

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

일반 사례

파일을 가져올 때 텍스트를 태그로 변환하고 데스크톱 편집기에서 필터링 및 찾기 및 바꾸기 기능에 정규식을 사용하는 예시입니다:

예시

설명

<[^>]+>

represents <html_tag>

\{[^\}]+\}

{변수}를 나타냅니다.

\[[^\]]+\]

[변수]를 나타냅니다.

\[\[.+?\]\]

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*\'[^:]+:

javascript의 필드 키를 변환하고 줄의 시작에 공백을 추가합니다 ('key' :)

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

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

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

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

\([^\)]+\)

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

\^[^\^]+\^

^ 기호 사이의 텍스트를 나타냅니다.

\@[^\@]+\@

@ 기호 사이의 텍스트를 나타냅니다.

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

^와 ? 기호 사이의 텍스트를 나타냅니다.

\'[^']+\'

' ' 아포스트로피 사이의 텍스트를 나타냅니다.

\"[^"]+\"

"" 따옴표 사이의 텍스트를 나타냅니다.

\%[^\%]+\%

% 기호 사이의 텍스트를 나타냅니다.

\$\{[^}]*\}

${와 } 사이의 텍스트를 나타냅니다. 예: ${변수}

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

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

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

콜론과 공백 뒤의 큰따옴표 안의 텍스트를 나타냅니다. 예: 문자열 "키": "값"에서.

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

콜론과 공백 뒤의 작은따옴표 안의 텍스트를 나타냅니다. 예: JohnDoe 문자열 사용자: 'JohnDoe'에서.

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

등호 뒤의 공백 없이 텍스트를 나타냅니다. 예: 키=값

(.*)=

등호 앞의 텍스트를 나타냅니다.

=(.*)

등호 뒤의 텍스트를 나타냅니다.

\/\/\S*

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

</?mrk[^>]*>

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

TXT 가져오기

참고

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

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

  1. ## 오류 메시지 ##1## 숫자는 0보다 커야 합니다. ##Z##

    ##1####Z## 사이의 텍스트를 가져오려면, 정규 표현식: (?<=##1## ).*(?= ##Z##)를 사용하세요.

  2. 오류 메시지 ("숫자는 0보다 커야 합니다.")

    ("와 ") 사이의 텍스트를 가져오려면, 정규 표현식: (?<=\(").*(?="\))를 사용하세요.

  3. '오류 메시지' = '숫자는 0보다 커야 합니다.'

    = 기호 뒤와 '와 ' 사이의 텍스트를 가져오려면, 정규 표현식: (?<=\= ').*(?=')를 사용하세요.

  4. 오류 메시지 = "번역될 내용입니다"

    = 기호 뒤와 '그리고' 사이의 텍스트를 가져오려면, 정규 표현식: (?<=\= ").*(?=")를 사용하세요.

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

    단일 언어 PO 파일에서 TXT 필터를 사용하여 msgstr 문자열을 가져오려면, 정규 표현식: (?<=msgstr ").*(?=")를 사용하세요.

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

    #로 시작하는 줄을 제외하려면, 정규 표현식: (^[^#].*)를 사용하세요.

  7. 값 '126', 'DCeT', '텍스트 (en)'

    인용부호 안의 텍스트만 가져오고 (en)이 있는 경우, 예를 들어 텍스트 (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: 번역 A
categories:
  title: B
  text: 번역 B
categories:
  title: C
  text: 번역 C
categories:
  content:
      title: D
      text: 번역 D

가져오기를 위한 정규 표현식:

  • 오직 '번역 A' : text

  • 오직 '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 파일에서 정규식을 사용하는 것은 복잡하며, 이를 다루기 전에 정규식 사용에 대한 기본 지식이 권장됩니다.

노브레이크 규칙(약어 등)과 브레이크 규칙(문장의 끝에 점 등)은 .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]+`

유니코드 범위 \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.