第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲得 r'\\\|' 來自 yaml 文件

如何獲得 r'\\\|' 來自 yaml 文件

回首憶惘然 2021-06-01 13:40:05
我正在使用 yaml 文件來存儲一些配置數(shù)據(jù),包括一些(許多)我不想保留在代碼中的正則表達(dá)式字符串。一切正常,除非我嘗試使用r'\\\|'. 我在 yaml 中嘗試了帶引號、不帶引號和文字的字符串,但沒有任何效果。Yaml 和 Python 字符串轉(zhuǎn)義規(guī)則似乎合謀使字符串中的反斜杠數(shù)量保持均勻。我打開并加載文件f=open(file_path, 'r', encoding='utf_8') python_dict = yaml.load(f)我想重現(xiàn)re.compile('\\\|')使用類似的東西re.compile(python_dict['escaped-pipes'])帶有 PyYAML 的 Python 3.4。
查看完整描述

1 回答

?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗 獲得超18個贊

在 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

單引號標(biāo)量類似于 Python 原始字符串的 YAML。


您的正則表達(dá)式中可能包含其他可能干擾 YAML 語法的字符。您可能希望改用塊標(biāo)量,它將所有字符視為內(nèi)容并通過縮進(jìn)結(jié)束:


block: |-

  \\\|

next block: |-

  \\\|

|開始一個文字塊 scalar,-導(dǎo)致最后的換行符(在下一項之前)不是標(biāo)量的一部分,這就是你想要的。


查看完整回答
反對 回復(fù) 2021-06-22
  • 1 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號