Import nástrojů

Regexp (TMS)

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

regulární výraz (zkráceně regex nebo regexp) je posloupnost znaků, které tvoří vyhledávací vzor hlavně pro použití při porovnávání vzorů s řetězce nebo řetězec-matching. Funkce je podobná pro hledání a nahrazování operací s větší složitostí a specifičností. Podívejte se na heslo wikipedie pro podrobný popis regexp a tabulku použitých znaků.

Do použít více regexpů najednou vložit znak kanálu | mezi nimi.

Regexp lze použít ve filtru hledat a nahrazovat pole v editoru CAT plochy, v polích zdroj a cíl funkce , Hledat pro obsah, pro funkci Převést na tagy v nastavení importu souborů a pro přizpůsobení pravidelsegmentace.

Důležitý

Phrase podporuje Java regexp, ale bude vrátit složité regulární výrazy, které chrání systém před přetížením. Komplexní regexpy jsou ty, které mají kvantifikátory (kromě přivlastňovadel) na grupách, které obsahují jiné kvantifikátory (kromě přivlastňovadel).

Obecné příklady

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

Příklad

Popis

<[^>]+>

represents <html_tag>

\{[^\}]+\}

představuje {proměnnou},

\[[^\]]+\]

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$

oddělovací znak na konci segment

^\s

oddělovací znak na začátku segment

\s\s

Dvojitá oddělovací znak

^\d

číslice na začátku segment

\w+\s\s\w+

dvojitý oddělovací znak mezi slov

\s\n

Nový řádek, kterému předchází libovolný znak oddělovací znak

\S\n

Nový řádek, kterému předchází libovolný znak, který není znakem oddělovací znak

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

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

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

Převede klíč pole JavaScriptu s přidáno mezerami na začátku řádku ('key' :)

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

nepřeloží {{text here}} '{{text here}} obsah a převede jej na tagy

TXT Import

Příklady regulárních výrazů při importu konkrétní textu:

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

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

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

    Do import text mezi (" a ") , použijte regexp: (?<=\(").*(?="\))

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

    Do import text za znakem = a mezi ' a ' použijte regexp: (?<=\= ').*(?= ' , )

  4. errorMessage = "toto má být přeloženo"

    Do import text za znakem = a mezi "a" použijte regexp: (?<=\= ").*(?=")

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

    Do import msgstr řetězce v monolingvních souborech Objednávka pomocí filtru TXT, použijte regexp: (?<=msgstr ").*(?=")

  6. # Poznámka: Jedná se o poznámka

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

  7. hodnoty '126', 'DCeT', 'Text (cs)'

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

JSON Import

Příklad struktury JSON:

{
"seznam": {
        "id": "1",
        "hodnota": "text 1 pro překlad."
        },
"text": {
        "id": "2",
        "hodnota": "text 2 pro překlad."
        },
"menu": {
        "id": "3",
        "hodnota": "text 3 pro překlad."
         },"array": ["blue","green"],"arrays": [{ "color": "blue", "title": "BLUE"
         }, { "color": "zelená", "title": "ZELENÁ" } ]}
  • Pro import každé hodnoty bez ohledu na úroveň použijte: (^|. */)hodnota

  • Chcete-li importovat pouze jednu hodnotu ze seznamu, použijte: seznam/ hodnota

  • Pro import hodnoty ze seznamu nebo nabídky použijte tlačítko | (OR) operátor: seznam/hodnota|menu/hodnota

  • Chcete-li importovat pouze první instanci hodnoty z nabídky, použijte: menu\[1\]/value

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

  • Chcete-li import obsah konkrétní pole objektů, použijte: (^|. */)pole\[.*\].*

YAML Import

Příklad mouchy YAML:

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

regexp pro import:

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

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

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

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

Pravidla segmentace

Okapi, Java a Unicode se používají pro pravidla segmentace v . SRX soubory.

Použití regexp v . SRX soubory jsou komplexní a základní znalosti o regulární výraz použití je doporučeno před pokusem práce s nimi.

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

Příklad

Popis

[\p{C}]

Neviditelný řídicí znak.

[\p{Z}]

Prázdné místo

[\p{Lu}]

Velké písmeno, které má variantu s malými písmeny.

[\p{N}]

Jakýkoli číselný znak.

\Q ... \E

Začátek a konec nabídky - (\QApprox.\E). Používá se pro zkratky.

\t

Tabelátor

\n

Newline

\u2029

Oddělovač odstavců

\u200B

Prostor s nulovou šířkou

\u3002

Ideografická tečka

\ufe52

Malá tečka

\uff0e

Tečka na plnou šířku

\uff61

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

\ufe56

Malý otazník

\uff1f

Otazník s plnou šířkou

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

\ufe57

Malý vykřičník

\uff01

Vykřičník s plnou šířkou

Běžné kontroly vlastních QA

QA Check

Zdroj: Regexp

Cílový regexp

Další čísla v cíl

\d

\d

Tagy objednávka (nespárované)

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

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

Tagy objednávka (nespárované)

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

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

Tagy objednávka (nespárované)

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

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

Tagy objednávka (spárované)

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

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

Tagy objednávka (spárované)

^.*\{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 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

Před tagy není mezera

\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í hranatých závorek

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

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

Chybí kulatých závorek

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

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

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.