我需要保留括號內的單詞並刪除以下字符串中的其他單詞。R:'not follow''not'正則表達式
(A(B(C)d)(E)F)
因此,我預計會是(((C))(E))。 要刪除a,b,d,f,我嘗試了'未遵循'正則表達式。
str <- "(a(b(c)d)(e)f)"
gsub("([a-z]+)(?!\\))", "", str) #(sub. anything that isn't followed by a ")")
該消息顯示我的正則表達式無效。正如我所看到的,正則表達式「(?!\))」第二部分的括號不正確。至於我的編輯器,第一個「(」與緊跟在後面的「)」相匹配,這不意味着是封閉括號(右邊的那個)。我可以從我的正則表達式中發現這個錯誤。你能告訴我什麼是錯的嗎?有沒有其他方法可以做到這一點?
即使你有一個有效的正則表達式,我也不認爲你想要做的事會按照你的預期工作。請注意,「d」和「f」後跟一個「)」。您可能需要訴諸多個gsub。 – Dason