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 posloupnost znaků, které tvoří Vyhledat vzor hlavně pro použít při přiřazování vzorů s Strings nebo přiřazování řetězec. Funkce je podobná složitějším a konkrétnějším operacím najít a nahradit nebo metodě 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 filtru, vyhledávání a nahrazení v desktopovém editoru CAT, ve zdrojových a cílových polích funkce Hledat obsah, v nastavení importu a pro přizpůsobení pravidel pro segmentaci.

Důležité

Phrase podporuje Java regexp, ale kvůli ochraně systému před přetížením nevrátí 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 pomocí regexpu v editoru Vyhledat a nahradit funkce:

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-mail name@domain.com

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

datum 2018-08-01

\s$

mezeru na konci segmentu

^\s

mezeru na začátku segmentu

\s\s

dvojité bílé znaky

^\d

číslice na začátku segmentu

\w+\s\s\w+

dvojitá mezera mezi slovy

\s\n

nový řádek před kterýmkoli bílým znakem

\S\n

nový řádek před kterým je libovolný znak bez mezer

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

převede PHP proměnné a html kód ($svariable['name'] =)

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

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

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

nepřeloží obsah {{text here}} '{{text here}} a převede 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.'

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

  4. errorMessage = „tohle je třeba přeložit

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

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

    Pro import msgstr Strings v jednojazyčných Objednávkách 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)'

    Pro import pouze textu v uvozovkách a s (cs), jako například Text (cs)' použijte regexp: (?<=')[^']*\(cs\)(?=')

Import JSON

Příklad struktury JSON:

{
"seznam": {
        "id": "1",
        "value": "text 1 pro překlad."
        },
"text": {
        "id": "2",
        "value": "text 2 pro překlad."
        },
„nabídka“: {
        "id": "3",
        "value": "text 3 pro překlad."
         },"array": ["blue","green"],"arrays": [{ "color": "blue", "title": "MODRÁ"
         }, { "color": "green", "title": "ZELENÁ" } ]}
  • pro import všech hodnot bez ohledu na úroveň použijte: (^|.*/)value

  • pro import pouze jedné hodnoty ze seznamu použijte: seznam/hodnota

  • pro import hodnoty ze seznamu nebo nabídky použijte operátor | (OR): seznam/hodnota|nabídka/hodnota

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

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

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

Import YAML

Příklad mouchy YAML:

název: A
text: přeložit A
kategorií:
  název: B
  text: přeložit B
kategorií:
  název: C
  text: přeložit C
kategorií:
  obsah:
      název: D
      text: přeložit D

regexp pro import:

  • pouze ‚přeložit 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

Pro pravidla segmentace v souborech .SRX se používají Okapi, Java a Unicode.

Použití regexpu v souborech .SRX je složité a před pokusem o zakázku doporučujeme použít základní znalosti regulárních výrazů.

Pravidla pro přerušení (Zkratky atd.) a pravidla pro přerušení (Konec věty s tečkou atd.) jsou v souborech .SRX.

Příklad

Popis

[\p{C}]

Neviditelný řídicí znak.

[\p{Z}]

Bílé znaky

[\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 - (\QApprox.\E). Používá se pro zkratky.

\t

Tabulátor

\n

Nový řádek

\u2029

Oddělovač odstavců

\u200B

Space 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 vykřičníku

\u2763

Těžký ornament vykřičníku srdce

\ufe57

Malý vykřičník

\uff01

Vykřičník na celou šířku

Společné vlastní kontroly QA

Kontrola QA

Regexp - zdroj

Regexp cíl jazyka

Další čísla v cíli

\d

\d

Tagy objednávky (nepárové)

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

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

Tagy objednávky (nepárové)

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

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

Tagy objednávky (nepárové)

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

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

Tagy objednávka (párová)

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

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

Tagy objednávka (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 po tagech

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