這個問題在這里已經有了答案: 結合 f 字串和原始字串文字 3 個答案 昨天關閉。
我在 python 中遇到了問題。我原來的正則運算式是:
f"regex(metrics_api_failure\.prod\.[\w_] \.{method_name}\.\d \.\d \.[\w_] \.[\w_] \.sum\.60)"
(method_name是一個區域變數) 我收到了一個 lint 警告:
"[FLAKE8 W605] invalid escape sequence '\.'Arc(W605)"
看起來建議我r用作正則運算式前綴。但如果我這樣做:
r"regex(metrics_api_failure\.prod\.[\w_] \.{method_name}\.\d \.\d \.[\w_] \.[\w_] \.sum\.60)"
將{method_name}成為字串型別,而不是在變數傳遞。
有誰知道如何解決這個困境?
uj5u.com熱心網友回復:
傳入運算式:
r"regex(metrics_api_failure\.prod\.[\w_] \." method_name r"\.\d \.\d \.[\w_] \.[\w_] \.sum\.60)"
本質上,使用 Python 字串連接來完成與使用方括號所做的相同的事情。然后,r""型別字串轉義應該可以作業。
或使用原始格式字串:
rf"regex(metrics_api_failure\.prod\.[\w_] \.{method_name}\.\d \.\d \.[\w_] \.[\w_] \.sum\.60)"
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/358689.html
