回答
\ d是一個不是正則表達式宏的開關。如果你想使用[0-9]表達的一些預定義的「常數」 istead只是試圖通過增加-E
運行這段代碼
s/[[:digit:]]+//g
但爲什麼'\ w'工作 – user2036880
因爲它寫的是sed文檔 「\ w 匹配任何」單詞「字符。」單詞「字符是任何字母或數字或下劃線字符。 「另外,這個版本的sed支持多個轉義字符(其中一些是多字符),以便在腳本中插入不可打印的字符(\ a,\ c,\ d,\ o ,\ r,\ t,\ v,\ x)。這些可能會導致爲其他seds編寫腳本的類似問題。「有關更多信息,請參閱http://www.gnu.org/software/sed/manual/sed.html – Kamil
@ user2036880,正如我在答案的第二部分中指出的那樣,在\ sed中\ d具有不同的含義。 –
有沒有這樣的特殊字符組在sed。您將不得不使用[0-9]
。
在GNU sed中,\d
在0-255範圍內引入了一到三位數字的十進制字符代碼。 如圖所示in this comment。
你最好使用擴展模式在sed。 在基本RegExp中,\ d和其他一些不會被檢測到 -E Interpret regular expressions as extended (modern) regular expressions rather than basic regular expressions (BRE's). The re_format(7) manual page fully describes both formats.
'\ d'也不會被-E檢測到。 –
- 1. 爲什麼sed正則表達式替換不起作用?
- 2. Html正則表達式模式:[\ d \ s - ] {3}起作用,但[\ d- \ s] {3}不起作用。爲什麼?
- 3. 我\ d [A-Z] \ d正則表達式不起作用
- 4. 爲什麼下面的正則表達式在vim中不起作用? (具體而言,?在正則表達式)
- 5. 爲什麼使用re.findall()的正則表達式不起作用?
- 6. 爲什麼validation.yml中的正則表達式在Symfony2中不起作用?
- 7. 正則表達式中的(\ d +)/(\ d +)是什麼?
- 8. 簡單的正則表達式,爲什麼這不起作用?
- 9. 爲什麼我的iOS正則表達式不起作用?
- 10. 爲什麼下面的正則表達式不起作用?
- 11. 爲什麼這個JavaScript的正則表達式不起作用?
- 12. 爲什麼我的C++正則表達式不起作用?
- 13. 爲什麼我的Python正則表達式不起作用?
- 14. 爲什麼不sed正確解釋這個正則表達式?
- 15. 爲什麼這個Java正則表達式不起作用?
- 16. 爲什麼這個JavaScript正則表達式不起作用?
- 17. PHP和正則表達式,爲什麼這不起作用?
- 18. 爲什麼這個MySql正則表達式不起作用?
- 19. 爲什麼這個ruby正則表達式不起作用?
- 20. 爲什麼這個正則表達式不起作用?
- 21. 爲什麼這個正則表達式不起作用?
- 22. 爲什麼這個正則表達式不起作用({m,n})?
- 23. 爲什麼這個rails正則表達式不起作用?
- 24. 爲什麼這個Bash正則表達式不起作用?
- 25. 爲什麼\ z正則表達式對我不起作用?
- 26. 爲什麼正則表達式驗證不起作用?
- 27. 爲什麼這個正則表達式不起作用?
- 28. 爲什麼這個正則表達式不起作用?
- 29. 爲什麼這個正則表達式不起作用?
- 30. 爲什麼正則表達式不起作用?
因爲你拼錯了。這工作得很好:'perl -e's/\ d + // g''。我不知道'-r'是什麼,因爲它不是POSIX的一部分。 – tchrist
@tchrist我什麼時候提到我使用perl – user2036880
你誤解了這個笑話。 – tchrist