정규식(Regexp 또는 Regexp 약어)은 주로 Strings 패턴 일치 또는 문자열 일치에 사용 위해 검색 패턴을 구성하는 문자열입니다. 기능은 더 복잡하고 구체적인 작업을 찾고 바꾸기 방식이나 정의된 컨텐츠 제외 방법과 유사합니다. 자세한 내용은 위키백과 가입을 참조하십시오.
한 번에 여러 Regexp를 사용하려면 그 사이에 파이프라인 글자 |
를삽입합니다.
Regexps는 CAT 데스크톱 편집기에서 필터, 검색 및 바꾸기 필드, 컨텐츠 검색 기능의 소스 및 대상 필드, 파일 가져오기 설정에서 기능 및 사용자 지정 세그먼트 분할 규칙에 사용할 수 있습니다.
중요 사항
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). |
(?<=\: ").*(?=") |
문자열 |
(?<=\: ').*(?=') |
문자열의 |
(?<=\=).*(?=) |
공백과 같은 기호 뒤에 텍스트를 나타냅니다(예: 키 = 값). |
(.*)= |
은(는) 같다는 기호 앞에 텍스트를 나타냅니다. |
[^=]*$ |
은(는) 같다는 기호 뒤에 오는 텍스트를 나타냅니다. |
\/\/\S* |
하이퍼링크를 나타냅니다. https:\/\/\S* |
</?mrk[^>]*> |
HTML/XML 개방 및 닫은 |
\b[\p{Lu}]+\b |
은(는) 대문자로 된 전체 단어를 나타냅니다. |
참고
TMS TXT 파일은 줄마다 처리되므로 다른 환경에서 작업 특정 정규식은 예상대로 작동하지 않을 수 있습니다.
특정 텍스트를 가져올 때 정규식의 예:
-
### ErrorMessage ##1## 숫자는 0보다 높아야 합니다. ##Z###
##1##와 ##Z## 간의 텍스트를 가져오는 경우, 사용 Regexp:
(?<=#1### ). *(?= ##Z##)
-
ErrorMessage ("숫자는 0보다 높아야 함")
(" 및 ") 사이의 텍스트를 가져오려면 Regexp:
(?<= \("). *(?=" \))를 사용하십시오.
-
'errorMessage' = '숫자는 0보다 높아야 함'
= 기호 뒤에 그리고 ' 및 ' 사이에 텍스트를 가져오려면 Regexp:
(?<= \ = ')를 사용합니다. *(?=')
-
errorMessage = "이것은 번역되어야 함"
= 기호 뒤에 그리고 '과' 사이에 텍스트를 가져오려면 Regexp:
(?<= \ = ")를 사용합니다. *(?=")
-
msgstr ("숫자는 0보다 높아야 합니다.")
TXT 필터를 사용하여 단언 PO 파일에서 msgstr Strings 가져오는 경우 사용 Regexp:
(?<=msgstr "). *(?=")
-
# 참고: 이것은 참고입니다
#로 시작하는 행을 제외하려면 Regexp:
(^[^#]. *)를 사용하십시오.
-
값: '126', 'DCeT', 'Text (en)'
견적 및 (en)로의 텍스트만 가져오는 경우, 예를 들면 Text (en)' 사용 Regexp:
(?<=')[^'] *\(en\)(?=')
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 파일 예시:
제목: 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, Java 및 Unicode 는 .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 검사 |
소스 Regexp |
대상 Regexp |
---|---|---|
대상 추가 숫자 |
|
|
tags 순서(일치되지 않음, tags 3개인 세그먼트) 필요한 tags 수에 따라 Regexp를 조정합니다. |
|
|
태그 순서(단위, 세그먼트에 3개의 tags). 필요한 tags 수에 따라 Regexp를 조정합니다. |
|
|
tags 이전 공백 |
|
|
tags 다음 공백 |
|
|
tags 이전에 공백 없음 |
|
|
쌍으로 구성된 tags 뒤에 공백이 없는 글자 |
|
|
누락된 사각형 괄호 |
|
|
원형 괄호가 누락됨 |
|
|