유틸리티 가져오기

Regexp (TMS)

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

정규식(Regexp 또는 Regexp 약어)은 주로 Strings 패턴 일치 또는 문자열 일치에 사용 위해 검색 패턴을 구성하는 문자열입니다. 기능은 더 복잡하고 구체적인 작업을 찾고 바꾸기 방식이나 정의된 컨텐츠 제외 방법과 유사합니다. 자세한 내용은 위키백과 가입을 참조하십시오.

한 번에 여러 Regexp를 사용하려면 그 사이에 파이프라인 글자 |를삽입합니다.

Regexps는 CAT 데스크톱 편집기에서 필터, 검색 및 바꾸기 필드, 컨텐츠 검색 기능의 소스 및 대상 필드, 파일 가져오기 설정에서 태그로 변환 기능 및 사용자 지정 세그먼트 분할 규칙에 사용할 수 있습니다.

AI 채팅봇은 Regexp를 생성하고 확인하는 데 매우 효과적입니다.

Regex101와 같은 도구를 사용하여 다른 입력으로 Regexp를 테스트하십시오.

중요 사항

Phrase는 Java Regexp를 지원하지만 시스템의 과부하를 방지하기 위해 복잡한 정규식이 거부됩니다. 복잡한 Regexp는 다른 Quantifiers(소유자 제외)이 포함된 그룹에 대해 수량화(소유자 제외)가 있는 항목입니다.

전반적인 예시

파일을 가져올 때 텍스트를 tags 변환하고 편집자 Functions 검색 및 바꾸기 위해 Regexp를 사용하는 예:

예:

설명

<[^>]+>

represents <html_tag>

\{[^\}]+\}

은(는) {variable}를 나타냅니다.

\[[^\]]+\]

은(는) [변수],

\[\[.+?\]\]

represents [[aa[11]bb]].

\$[^\$]+\$

은(는) $operator_Name1$입니다.

\d+

숫자를 나타냅니다. Also, [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의 필드 키 변환합니다( '키' :)

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

{{text here}}의{{text here}} 컨텐츠를 번역하지 않고 tags로 변환합니다

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

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

\([^\)]+\)

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

\^[^\^]+\^

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

\@[^\@]+\@

@ 마크 사이의 텍스트를 나타냅니다.

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

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

\'[^']+\'

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

\"[^"]+\"

"" 인용 기호 사이의 텍스트를 나타냅니다.

\%[^\%]+\%

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

\$\{[^}]*\}

${와 } 사이의 텍스트를 나타냅니다(예: ${variable}).

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

$로 시작하는 문자열(예: $appName).

(?&lt;=\: ").*(?=")

문자열 "키": "값"과 같이 열과 공백 후의 실수 따옴표 내의 텍스트를 나타냅니다.

(?&lt;=\: ').*(?=')

문자열의 사용자 JohnDoe와 같이, 열줄과 공백 후의 단일 따옴표 내의 텍스트를 나타냅니다. 'JohnDoe'

(?&lt;=\=).*(?=)

공백과 같은 기호 뒤에 텍스트를 나타냅니다(예: 키 = 값).

(.*)=

은(는) 같다는 기호 앞에 텍스트를 나타냅니다.

[^=]*$

은(는) 같다는 기호 뒤에 오는 텍스트를 나타냅니다.

\/\/\S*

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

</?mrk[^&gt;]*>

HTML/XML 개방 및 닫은 mark tags를 나타냅니다(예: <mrk ID="abc"> 및 </mrk>).

\b[\p{Lu}]+\b

은(는) 대문자로 된 전체 단어를 나타냅니다.

TXT 가져오기

참고

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

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

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

    ##1####Z## 간의 텍스트를 가져오는 경우, 사용 Regexp: (?<=#1### ). *(?= ##Z##)

  2. ErrorMessage ("숫자는 0보다 높아야 함")

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

  3. 'errorMessage' = '숫자는 0보다 높아야 함'

    = 기호 뒤에 그리고 ' 및 ' 사이에 텍스트를 가져오려면 Regexp: (?<= \ = ')를 사용합니다. *(?=')

  4. errorMessage = "이것은 번역되어야 함"

    = 기호 뒤에 그리고 '' 사이에 텍스트를 가져오려면 Regexp: (?<= \ = ")를 사용합니다. *(?=")

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

    TXT 필터를 사용하여 단언 PO 파일에서 msgstr Strings 가져오는 경우 사용 Regexp: (?<=msgstr "). *(?=")

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

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

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

    견적 및 (en)로의 텍스트만 가져오는 경우, 예를 들면 Text (en)' 사용 Regexp: (?<=')[^'] *\(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" } ]}
  • 레벨에 관계없이 모든 값을 가져오기 위해 사용: (^ |.*/)값

  • 목록에서 하나의 값만 가져오는 경우 사용: 목록/값

  • 목록 및/또는 메뉴에서 값을 가져오는 경우 | (OR) 연산자: 목록/값 |menu/값을 사용합니다.

  • 메뉴에서 값의 첫 번째 인스턴스를 가져오기 위해 사용: menu\[1\]/value

  • 특정 키 다음에 오는 JSON 어레이의 컨텐츠를 가져오는 경우 사용: (^ |.*/)array\[.*\]

  • 특정 객체 스토리지의 컨텐츠를 가져오는 경우 사용: (^ |.*/)arrays\[.*\].*

YAML 가져오기

YAML 파일 예시:

제목: A
text: translate A
categories:
  제목: B
  text: translate B
categories:
  제목: C
  text: translate C
categories:
  content:
      제목: D
      text: translate D

가져오기 위한 Regexp:

  • only 'translate A' : 텍스트

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

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

  • 모든 텍스트: text |categories\[\d+\]/text |categories\[\d+\]/content[\d+\]/text

세그먼트 분할 규칙

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

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

누브레이크 규칙(약어 등) 및 줄바꿈 규칙(점이 있는 문장 끝 등)은 .SRX 파일에 있습니다.

예:

설명

[\p{C}]

보이지 않는 컨트롤 글자.

[\p{Z}]

공백

[\p{Lu}]

소문자가 있는 대문자입니다.

[\p{N}]

모든 종류의 숫자 글자.

\Q ... \E

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

\t

\n

뉴라인

\u2029

단락 구분자

\u200B

공백 zero-width

\u3002

Ideographic 전체 단계

\ufe52

소형 완전한 중지

\uff0e

완전폭 완전한 중지

\uff61

절반폭 아이디어 전체 단계

\ufe56

작은 질문 표시

\uff1f

완폭 질문 표시

\u203c

더블 느낌표

\u2048

질문 느낌표

\u2762

무거운 느낌표 장식

\u2763

심장 느낌 표시 장식

\ufe57

작은 느낌표

\uff01

완폭 느낌표

`[\u0080-\uFFFF]+`

유니코드 범위 \u0080에서 \uFFFF의 글자

`[\u00a8\u00b9\u00c4]+`

사각형 괄호 안에 지정된 유니코드 글자 중 하나 이상이 발생했으나(예: \u00a8 + \u00b9 + \u00c4)

사용자 지정 QA 검사

QA 검사

소스 Regexp

대상 Regexp

대상 추가 숫자

\d 

\d 

tags 순서(일치되지 않음, tags 3개인 세그먼트)

필요한 tags 수에 따라 Regexp를 조정합니다.

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

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

태그 순서(단위, 세그먼트에 3개의 tags).

필요한 tags 수에 따라 Regexp를 조정합니다.

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

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

tags 이전 공백

\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}\})

tags 다음 공백

(\{[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

tags 이전에 공백 없음

\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}\})

쌍으로 구성된 tags 뒤에 공백이 없는 글자

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

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

누락된 사각형 괄호

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

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

원형 괄호가 누락됨

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

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

도움이 되었습니까?

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.