a && b || c && d || e
のような文字列を&&
と||
に分割しようとしていますが、re.splitを使用しています。 re.split("a | b")
を実行して複数の区切り文字を使用できることはわかっていますが、これを実現する方法はわかりません:re.split("&& | ||")
。私はre.split("&& | \\|\\|")
を使用してパイプをエスケープしようとしましたが、これは動作しません。Python - エスケープ||
これを正しくエスケープするにはどうすればよいですか?
>>> import re
>>> s = "a && b || c && d || e"
>>> re.split(r"&&|\|\|", s)
['a ', ' b ', ' c ', ' d ', ' e']
そして、また、区切り文字の周りにスペースを処理するために::
\s
はスペース文字に一致し
>>> re.split(r"\s(?:&&|\|\|)\s", s)
['a', 'b', 'c', 'd', 'e']
それは特別な意味を持っているので、あなたがエスケープ|
に必要
あなたの正規表現を誤解している可能性があることに注意してください。 're.split(" a | b ")'はa(スペース)と(スペース)bで分割されます。あなた自身の試みには、これらのスペースも含まれています(あなたの入力にあるので、それらは破棄されます)。 – usr2564301
出力として何をしたいですか? –