我正在刷我的正則表達式,看看我能做什麼,並縮小我的標準編碼風格。然後我寫了一個本應該工作的小片段,但不會。所以我一直減少它的最基本形式,但仍不能做我想做的事情:爲什麼這個簡單的正則表達式不工作
echo "a" | sed -e 's/a+/A/g'
爲何不輸出
A
我只是感到困惑,爲什麼這不工作...
我正在刷我的正則表達式,看看我能做什麼,並縮小我的標準編碼風格。然後我寫了一個本應該工作的小片段,但不會。所以我一直減少它的最基本形式,但仍不能做我想做的事情:爲什麼這個簡單的正則表達式不工作
echo "a" | sed -e 's/a+/A/g'
爲何不輸出
A
我只是感到困惑,爲什麼這不工作...
+是一個擴展正則表達式。採用-r – Kalanidhi
@KalanidhiM。它也可以在POSIX正則表達式中使用,但是您需要將其轉義:'\ +'。但這裏並不需要'+' – hek2mgl
「a +」是一個代表一個或多個「a」的元字符的替代方法,它代表一個「a」,後跟零個或多個「a」秒。注: '+'是GNU增強功能,需要轉義或啓用'-r'開關,而'aa *'在所有seds中都可用。 – potong