Import nástrojů

Regexp (TMS)

Obsah je strojově přeložen z angličtiny s použitím Phrase Language AI.

Regulární výraz (zkráceně regex nebo regexp) je sekvence znaků, které tvoří vzor vyhledávání hlavně pro použití při přiřazování vzorů s řetězci nebo přiřazování řetězců. Funkce je podobná jako operace najít a nahradit složitější a konkrétnější nebo jako metoda pro vyloučení definovaného obsahu. Podrobný popis regexpu a tabulku použitých znaků najdete v položce wikipedie.

Chcete-li použít více regexpů současně, vložte mezi ně znak pipeline |.

Regexpy lze použít v polích filtr, hledat a nahrazovat v CAT desktop editoru, ve zdrojových a cílových polích funkce Hledat obsah, pro funkci Převést na tagy v Nastavení importu souborů a pro přizpůsobení pravidel segmentace.

Důležité

Phrase podporuje regexp v Javě, ale kvůli ochraně systému před přetížením odmítne složité regulární výrazy. Komplexní regexpy jsou ty s kvantifikátory (kromě přivlastňovacích) ve skupinách, které obsahují jiné kvantifikátory (kromě přivlastňovacích).

Obecné příklady

Příklady převodu textu na tagy při importu souborů a použití regexpu v editoru pro funkce vyhledávání a nahrazování:

Příklad

Popis

<[^>]+>

představuje <html_tag>

\{[^\}]+\}

představuje {variable},

\[[^\]]+\]

představuje [proměnnou],

\[\[.+?\]\]

představuje [[aa[11]bb]].

\$[^\$]+\$

představuje $operator_Name1$.

\d+

představuje čísla. Také [0-9]+

[A-Za-z0-9]

představuje libovolný alfanumerický znak.

.+\@.+\..+

e-mailová adresa name@domain.com

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

datum 2018-08-01

\s$

bílé znaky na konci segmentu

^\s

bílé znaky na začátku segmentu

\s\s

dvojité bílé znaky

^\d

číslice na začátku segmentu

\w+\s\s\w+

dvojitou mezeru mezi slovy

\s\n

nový řádek, kterému předchází libovolný bílý znak

\S\n

nový řádek, kterému předchází jiný než bílý znak

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

převádí php proměnné a html kód ($svariable['name'] =)

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

převede klíč pole javascriptu s přidanými mezerami na začátku řádku ( 'key' :)

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

nepřekládá obsah {{text here}} {{text here}} a převádí jej na tagy

Import textu

Příklady regulárních výrazů při importu určitého textu:

  1. ## ErrorMessage ##1## Číslo musí být vyšší než 0. ##Z##

    Pro import textu mezi ##1## a ##Z## , použijte regexp: (?<=##1## ).*(?= ##Z##)

  2. ErrorMessage („Číslo musí být vyšší než 0.“)

    Pro import textu mezi (" a „) použijte regexp: (?<=\(").*(?="\)

  3. 'errorMessage' = 'Číslo musí být vyšší než 0.'

    Chcete-li importovat text po znaménku = a mezi ' a ', použijte regexp: (?<=\= ').*(?=')

  4. errorMessage = „bude přeloženo

    Pro import textu po znaménku = a mezi ‚a‘ použijte regexp: (?<=\= ").*(?=")

  5. msgstr ("Číslo musí být vyšší než 0.")

    Chcete-li importovat řetězce msgstr v jednojazyčných PO souborech pomocí filtru TXT, použijte regexp: (?<=msgstr ").*(?=")

  6. # Poznámka: Toto je poznámka

    Chcete-li vyloučit řádky začínající # , použijte regexp: (^[^#].*)

  7. hodnoty ‚126‘, ‚DCeT‘, ‚Text (cs)‘

    Chcete-li importovat pouze text v uvozovkách a s (en), jako je Text (en)', použijte regexp: (?<=')[^']*\(en\)(?=')

Import JSON

Příklad struktury JSON:

{
"list": {
        „id“: "1",
        "value": "text 1 pro překlad."
        },
"text": {
        „id“: "2",
        "value": "text 2 k překladu."
        },
„menu“: {
        „id“: "3",
        "value": "text 3 k překladu."
         },"array": ["blue","green"],"arrays": [{ "color": "blue", "title": „MODRÁ“
         }, { "color": "green", "title": "ZELENÁ" } ]}
  • pro import každé hodnoty bez ohledu na úroveň použijte: (^|.*/)value

  • pro import pouze jedné hodnoty ze seznamu použijte: list/value

  • pro import hodnoty ze seznamu nebo nabídky použijte operátor | (OR): list/value|menu/value

  • pro import pouze první instance hodnoty z nabídky použijte: menu\[1\]/value

  • pro import obsahu pole JSON za určitým klíčem použijte: (^|.*/)array\[.*\]

  • pro import obsahu určitého pole objektů použijte: (^|.*/)arrays\[.*\].*

Import YAML

Příklad mouchy YAML:

název: A
text: translate A
kategorií:
  název: B
  text: translate B
kategorií:
  název: C
  text: translate C
kategorií:
  obsah:
      název: D
      text: translate D

regexp pro import:

  • pouze 'translate A' : text

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

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

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

Pravidla pro segmentaci

Pravidla pro segmentaci v souborech .SRX obsahují Okapi, Java a Unicode.

Použití regexpu v .SRX souborech je složité a doporučujeme základní znalost používání regulárních výrazů, než se s nimi pokusíte pracovat.

Pravidla Nobreak (Zkratky apod.) a Break (Konec věty s tečkou atd.) jsou v souborech .SRX.

Příklad

Popis

[\p{C}]

Neviditelný řídicí znak.

[\p{Z}]

Whitespace

[\p{Lu}]

Velké písmeno, které obsahuje malé písmeno.

[\p{N}]

Jakýkoli číslicový znak.

\Q ... \E

Začátek a konec cenové nabídky - (\QPřibl.\E). Používá se pro zkratky.

\t

Tabulátor

\n

Newline

\u2029

Oddělovač odstavců

\u200B

Prostor s nulovou šířkou

\u3002

Ideografická tečka

\ufe52

Malá tečka

\uff0e

Fullwidth tečka

\uff61

Ideografická tečka s poloviční šířkou

\ufe56

Malý otazník

\uff1f

Otazník v celé šířce

\u203c

Dvojitý vykřičník

\u2048

Vykřičník otazníku

\u2762

Těžký ornament s vykřičníkem

\u2763

Těžký ornament s vykřičníkem

\ufe57

Malý vykřičník

\uff01

Vykřičník v celé šířce

Společné vlastní kontroly QA

Kontrola QA

Regexp - zdrojový text

Regexp pro cíl

Další čísla v cíli

\d

\d

Pořadí tagů (nepárové)

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

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

Pořadí tagů (nepárové)

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

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

Pořadí tagů (nepárové)

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

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

Pořadí tagů (párové)

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*$

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*$

Pořadí tagů (párové)

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*\{3\&gt;.*\&lt;3\}.*$

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*\{3\&gt;.*\&lt;3\}.*$

Mezery před tagy

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

Mezery za tagy

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

Žádná mezera před tagy

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

Chybějící hranaté závorky

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

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

Chybějící kulaté závorky

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

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

Byl pro vás tento článek užitečný?

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.