2
在Python中,我嘗試使用一個正則表達式來替換全部小於(<)且小於等於(< =)的表達式,其中等於大於(>)或大於等於或等於。例如,「a < b」將被替換爲「b> a」。我相信我的正則表達式的代碼是正確的(如下所示),但我不知道如何執行代碼的替換部分。由於正則表達式是分組的,我必須使用反向引用才能訪問我想要切換的表達式的部分。Python正則表達式:改變條件運算符
c = re.compile(r"\b(\w+)\s*"
r"((<)|(>)|(<=)|(>=))"
r"\s*(\w+)\b")
subStr = r"\7 #WHAT GOES HERE \1"
我可以使用\ 7來獲取條件運算符右側的「word」和\ 1以獲得左側的一個。我如何翻轉操作符號?
實際使用替代,我使用這種格式的東西:
print(c.sub(subStr, "a < b"))
另外,我知道我沒有在這裏使用正則表達式,但我試圖使它與一個合作。
Didnt'str.replace'幫助你嗎? – thefourtheye
你應該匹配'(<|>)(=?)'並替換爲'> \ 1'。 –
關於匹配的好主意。但用> \ 1替換什麼? – user3538355