回答
\ 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