來源是1234567890
,正則表達式((?<=\d)\d{3})*\b
可匹配:234567890
,所以我認爲sed
應該替換234567890
與TEST
,但結果是:1234567890
,爲什麼?正則表達式和sed命令:echo 1234567890 | sed's /((?<= d) d {3})* b/TEST /'
0
A
回答
1
回顧後不SED支持。 你可以嘗試ssed(super sed),它支持perl模式,(-R),那麼你可以傳遞perl風格的正則表達式給它。例如向前看/在後面。
看到的功能列表:
0
你需要重寫正則表達式,而不回顧後:
s/(\d)(?:\d{3})*\b/\1TEST
相關問題
- 1. 關於此正則表達式(?<= \ d)\ d {4}
- 2. Perl正則表達式(\ d * \。\ d {2})
- 3. sed的: '// d' 命令
- 4. \ D +?在正則表達式
- 5. \ d +正則表達式在
- 6. 這個正則表達式是什麼意思:\\ d {3} - \\ d {4}。*
- 7. 正則表達式(\ d {3})(?= \ d)是什麼意思?
- 8. 正則表達式「NR ###」和「d ########」
- 9. 使用正則表達式識別窗體\ d \ d \ d \ d \ d \ d的日期
- 10. 匹配\ d和\。在正則表達式
- 11. [^ \ d]。*和^ [^ \ d]。*在java正則表達式中的區別
- 12. java正則表達式中「\\ d +」和「\\ d ++」的區別
- 13. 我可以結合正則表達式問題([\\ d] * $)和([\\ d] *)c $
- 14. 正則表達式0.12是如何工作的? IBM Watson transf。正則表達式\ d + \。\ d + \。\ d + [PZ] \ d + - into - >正則表達式0.12
- 15. unix sed命令的正則表達式
- 16. 正則表達式一個sed命令
- 17. sed命令:2的正則表達式
- 18. M/d/yyyy的正則表達式
- 19. C++的正則表達式:?替換\ d \ S(用\ d *(
- 20. 正則表達式:/(\d*)/(\d*)/(.*[0-9a-zA-Z])EXCEPT「page」
- 21. sed和正則表達式
- 22. Java正則表達式「\\ d [a-zA-z]?」
- 23. 正則表達式:\ D不工作
- 24. 錯誤與正則表達式\(。+?(\ d +)\)
- 25. 正則表達式a:b c d a:b
- 26. simplejson - 編碼正則表達式\ d +
- 27. 正則表達式問題 - 星號\ d
- 28. 正則表達式突擊測驗:d
- 29. 這個正則表達式超出了我的理解「(?=(?:\ d {3})++(?!\ d))」
- 30. 正則表達式的含義如 - \\ d,\\ D,^,$等
我覺得sed的GNU的最新版本支持-R爲好。看到這裏:http://sed.sourceforge.net – sinelaw 2012-02-14 13:04:11