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ě regexp nebo regexp) je posloupnost znaků, které tvoří vyhledávací vzor hlavně proto, aby se použily při přiřazování vzorů se Strings nebo přiřazování řetězců. Funkce je podobná složitějším a specifičtějším operacím, které najdou a nahradí, nebo jako metoda vyloučení definovaného obsahu. Podrobný popis regexpu a tabulka použitých znaků naleznete v položce wikipedie.

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

Pomocí regexpů lze filtrovat, vyhledat a nahradit pole v desktopovém editoru CAT, pole zdroj a cíl funkce vyhledávání obsahu, funkci Převést na tagy v nastavení importu souborů a přizpůsobit pravidla segmentace.

Chatboti umělé inteligence mohou být velmi efektivní při generování a ověřování regexpu.

Důležité

Phrase podporuje regexp v Java, ale nevrátí složité regulární výrazy, aby ochránil systém před přetížením. Složité 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 tags při importu souborů a použití regexpu v editor pro funkce vyhledávání a nahradit:

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$

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+

dvojitá mezera mezi slovy

\s\n

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

\S\n

nový řádek, kterému předchází jakýkoli 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řekládá obsah {{text here}} '{{text here}} a převádí ho na tagy

TXT Import

Příklady regulárních výrazů při importu konkrétní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 = "bude přeloženo"

    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 souborech Objednávky pomocí filtru TXT použijte regexp: (?<=msgstr ").*(?=")

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

    Chcete-li vyloučit řádky začínající na # , 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\)(?=')

JSON Import

Příklad struktury JSON:

{
"list": {
        "id": "1",
        "value": "text 1 for translation."
        },
"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 každé hodnoty 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|menu/hodnota

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

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

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

Import YAML

Příklad souboru YAML:

title: A
text: přeložit A
Kategorie:
  title: B
  text: translate B
Kategorie:
  title: C
  text: přeložit C
Kategorie:
  obsah:
      title: D
      text: přeložit D

regexp pro import:

  • pouze 'přeložit A' : text

  • pouze 'přeložit C': categories\[2\]/text

  • pouze 'přeložit D': categories\[\d+\]/content[\1\]/text

  • veškerý text: text|categories\[\d+\]/text|categories\[\d+\]/content[\d+\]/text

Pravidla pro segmentaci

Okapi, Java a Unicode jsou použity pro pravidla segmentace v souborech .SRX.

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 apod.) a pravidla pro přerušení (Konec věty s tečkou atd.) jsou v souborech .SRX.

Příklad

Popis

[\p{C}]

Skrytý kontrolní znak.

[\p{Z}]

Whitespace

[\p{Lu}]

Velké písmeno obsahující malé písmeno.

[\p{N}]

Jakýkoli numerický 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

Space s nulovou šířkou

\u3002

Ideografická tečka

\ufe52

Malá tečka

\uff0e

Tečka za plnou šířkou

\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ý vykřičník ornament

\u2763

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

\ufe57

Malý vykřičník

\uff01

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

Společné vlastní QA kontroly

Kontrola QA

Regexp - zdrojový text

Regexp - cílový text

Další čísla v cíli

\d 

\d 

objednávka tags (nepárové, pro segmenty se 3 tags).

Upravte regexp podle požadovaného počtu tags.

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

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

objednávka tags (párové, pro segmenty se 3 tags).

Upravte regexp podle požadovaného počtu tags.

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

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

Mezery před 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}\})

Mezery po 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

Žádná Space před 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}\})

Nebílé znaky po párových tagech

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

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

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.