В YAML \
является специальным символом только в строках с двойными кавычками.Строка Python r'\\\|'
является необработанной строкой, поэтому она состоит из трех обратных косых черт и канала.У вас есть следующие опции для кодирования этого в YAML-документе:
plain: \\\| # plain scalar. YAML does not process the backslashes.
single: '\\\|' # single quoted scalar. YAML also does not process the backslashes.
double: "\\\\\\|" # double quoted scalar. YAML does process escape sequences here, so you
# need to double the backslashes
Скаляры в одинарных кавычках являются своего рода YAML-эквивалентом необработанных строк Python.
Возможно, у вас есть другие символы вваши регулярные выражения, которые могут мешать синтаксису YAML.Вместо этого вы можете использовать блочные скаляры, которые обрабатывают все символов как содержимое и заканчиваются отступом:
block: |-
\\\|
next block: |-
\\\|
|
запускает буквальный блочный скаляр , -
заставляет окончательный разрыв строки (перед следующим элементом) не быть частью скаляра, а это то, что вам нужно.