Импортировать утилиты

Regexp (TMS)

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

регулярное выражение (сокращенно regexp или regexp) — это последовательность символов, образующих шаблон Поиск, предназначенный главным образом для использовать при сопоставлении шаблонов со Strings или подборе строка. Функция аналогична функции, позволяющей найти и заменить операции с большей сложностью и специфичностью, или методу исключения определенного контента. Подробное описание стандартного выражения и таблицу использованных символов смотрите в записи Википедии.

Чтобы использовать несколько стандартных выражений одновременно, вставьте символ | между ними.

Реджексы можно использовать в фильтрующих, Поисках и заменить полях в редакторе для компьютера CAT, в полях оригинала и перевода в Поиске контента, для функции Преобразовать в теги в Импортировать файлы и для настройки правил сегментации.

Чат-боты искусственного интеллекта (ИИ) могут быть очень эффективными в генерации и подтверждении regexp.

Важно

Phrase поддерживает стандартное выражение Java, но отклонит сложные стандартные выражения, чтобы защитить систему от перегрузок. Сложные реджепсы — это реджепсы с квантователями (кроме собственнических) на группах, содержащих другие квантователи (кроме собственннических).

Общие примеры

Примеры преобразования текста в теги при импорте файлов и использования стандартного выражения в редактор для Поиск и заменить функций:

Пример

Описание

<[^>]+>

represents <html_tag>

\{[^\}]+\}

представляет {переменную},

\[[^\]]+\]

представляет собой [переменную],

\[\[.+?\]\]

represents [[aa[11]bb]].

\$[^\$]+\$

represents $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}} контент и конвертирует его в теги

Импорт TXT

Примеры регулярных выражений при импорте определенного текста:

  1. ## Сообщение об ошибке ##1## Количество должно быть выше 0. ##Я##

    Чтобы импортировать текст между ##1## и ###Я## ,используйте стандартное выражение: (?<=##1## ).*(?= ###Я##)

  2. Сообщение об ошибке ("Количество должно быть выше 0)

    Чтобы импортировать текст между (" и ") , используйте regexp: (?<=\(").*(?="\)

  3. 'errorMessage' = 'Число должно быть выше 0.'

    Чтобы импортировать текст после знака = и между ' и ' , используйте regexp: (?<=\= ').*(?=')

  4. errorСообщение = «это должно быть переведено»

    Чтобы импортировать текст после знака = и между 'и' используйте regexp: (?<=\= ").*(?=")

  5. msgstr («Число должно быть выше 0)

    Чтобы импортировать Strings msgstr в одноязычных файлах заказов на покупку (PO) с помощью фильтра TXT, используйте regexp: (?<=msgstr ").*(?=")

  6. # Примечание: Это примечание

    Чтобы исключить строки, начинающиеся с # , используйте стандартное выражение: (^[^#].*)

  7. значения '126', 'DCeT', 'Text (en)'

    Чтобы импортировать текст только в кавычках и с (en), например Текст (en)' используйте regexp: (?<=')[^']*\(en\)(?=')

Импорт JSON

Пример структуры JSON:

{
«Список»: {
        "Идентификатор": "1",
        «значение»: «текст 1 для перевода».
        },
«текст»: {
        "Идентификатор": "2",
        «значение»: «текст 2 для перевода».
        },
«меню»: {
        "Идентификатор": "3",
        «значение»: «текст 3 для перевода».
         },"массив": ["синий","зеленый"],"массивы": [{ "цвет": "синий", "название": "BLUE"
         }, { «цвет»: «зеленый», «название»: «GREEN» } ]}
  • для импорта каждого значения независимо от уровня используйте: (^|.*/)значение

  • для импорта только одного значения из списка используйте: список/значение

  • для импорта значения из списка и/или меню используйте оператор | (ИЛИ): список/значение|меню/значение

  • для импорта только первого экземпляра значения из меню используйте: меню\[1\]/значение

  • для импорта контента массива JSON после определенного ключа используйте: (^|.*/)массив\[.*\]

  • чтобы импортировать контент определенного массива объектов, используйте: (^|.*/)массивы\[.*\].*

Импорт YAML

Пример мухи YAML:

название: A
текст: перевести A
категории:
  название: B
  текст: перевести B
категории:
  название: C
  текст: перевести Си
категории:
  контент:
      название: D
      текст: перевести Д

стандартное выражение для импорта:

  • только «перевести А» : текст

  • только «перевести С»: категории\[2\]/текст

  • только «перевести Д»: категории\[\d+\]/content[\1\]/text

  • весь текст: text|categories\[\d+\]/text|categories\[\d+\]/content[\d+\]/text

Правила сегментации

Okapi, Java и Unicode используются для правил сегментации в файлах .SRX.

Использование regexp в файлах .SRX - задача сложная, и перед попыткой работы с ними рекомендуется иметь базовые знания об используемых регулярных выражениях.

Правила запрета разрыва (аббревиатуры и т. д.) и правила перерыва (конец предложения с точкой и т. д.) есть в файлах .SRX.

Пример

Описание

[\p{C}]

Невидимый управляющий символ.

[\p{Z}]

Пробел

[\p{Lu}]

Прописная буква с нижним регистром.

[\p{N}]

Любые цифровые символы.

\Q ... \E

Начало и конец ценового предложения - (\QApprox.\E). Это используется для сокращений.

\t

Табулятор

\n

Newline

\u2029

Разделитель пунктов

\u200B

Каталог нулевой ширины

\u3002

Идеографическая полная остановка

\ufe52

Небольшая полная остановка

\uff0e

Полноширинный полный стоп

\uff61

Идеографическая полширины полной остановки

\ufe56

Небольшой вопросительный знак

\uff1f

Знак вопроса Fullwidth

\u203c

Двойной восклицательный знак

\u2048

Восклицательный знак вопроса

\u2762

Сильный восклицательный знак

\u2763

Тяжелый восклицательный знак сердца

\ufe57

Небольшой восклицательный знак

\uff01

Восклицательный знак полной ширины

Общий пользовательский контроль качества (QA)

Контроль качества (QA)

Реджексп оригинала

Реджексп перевода

Дополнительные цифры в переводе

\d

\d

Заказ тегов (без пары)

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

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

Заказ тегов (без пары)

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

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

Заказ тегов (без пары)

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

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

Заказ тегов (парный)

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

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

Заказ тегов (парный)

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

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

Пробелы перед тегами

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*&gt;|&lt;[1-9][0-9]*\}|\{[biu_\^]{1,4}&gt;|&lt;[biu_\^]{1,4}\})

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*&gt;|&lt;[1-9][0-9]*\}|\{[biu_\^]{1,4}&gt;|&lt;[biu_\^]{1,4}\})

Пробелы после тегов

(\{[1-9][0-9]*\}|\{[1-9][0-9]*&gt;|&lt;[1-9][0-9]*\}|\{[biu_\^]{1,4}&gt;|&lt;[biu_\^]{1,4}\})\s

(\{[1-9][0-9]*\}|\{[1-9][0-9]*&gt;|&lt;[1-9][0-9]*\}|\{[biu_\^]{1,4}&gt;|&lt;[biu_\^]{1,4}\})\s

Нет каталога перед тегами

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*&gt;|&lt;[1-9][0-9]*\}|\{[biu_\^]{1,4}&gt;|&lt;[biu_\^]{1,4}\})

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*&gt;|&lt;[1-9][0-9]*\}|\{[biu_\^]{1,4}&gt;|&lt;[biu_\^]{1,4}\})

Отсутствуют квадратные скобки

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

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

Отсутствуют круглые скобки

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

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

Была ли эта статья полезной?

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.