我在sed中使用以下命令:sed s/1[^\.]/2/g test
sed正則表達式替換太多字符?
我想用一個2替換每個1,除了後面跟一個點。它工作正常。
但在我的文件中,我有一個{{1e}}
被替換爲{{2}}
。
爲什麼sed刪除e
? PS:我是一個正則表達式的初學者,所以它可能是一個明顯的錯誤。
我在sed中使用以下命令:sed s/1[^\.]/2/g test
sed正則表達式替換太多字符?
我想用一個2替換每個1,除了後面跟一個點。它工作正常。
但在我的文件中,我有一個{{1e}}
被替換爲{{2}}
。
爲什麼sed刪除e
? PS:我是一個正則表達式的初學者,所以它可能是一個明顯的錯誤。
取代它,我認爲SED將其解釋爲「替換以下2個字符爲‘2’。(1後面有比其他任何字母」。「)。我是初學者,以及,所以不太清楚實際的修正是什麼 –
你的正則表達式匹配兩個字符,第一個是「1」,第二個是whatevere,而不是「。」;你應該在「1」之後使用捕獲子模式並將其包含在替換模式中。 – Lauri