我在教自己bash腳本,我現在正在學習的第一個元素是正則表達式。我通過購買的視頻學習正則表達式,並且教師讓我用來測試的正則表達式測試器是RegexPal,它是專門用於java腳本正則表達式的測試器。有人能告訴我bash使用的正則表達式的類型或庫嗎?我想確保我正在學習能夠在bash腳本中使用的正確內容。我知道RegexBuddy是一個選項,但是如果我最終在bash中使用它們,我將使用哪種類型的正則表達式。非常感謝您的幫助。什麼正則表達式庫使用
回答
使用的Bash正則表達式相當標準。例如:
[[ $var =~ ^[0-9]+$ ]] && echo "it's a number"
值的範圍([0-9]
例如),則^
符號來指示開始,$
符號以指示結束時,出現的*
的數目(+
用於一個或多個,用於0或更多,{n, m}
n和m次出現次數,{n}
嚴格n次出現次數...)。它們都以允許我們使用正則表達式的所有語言找到。因此,我認爲任何製造的正則表達式工具都可以用於此(有一些調整,例如在PHP中有分隔符,在某些語言中有數字等的快捷方式,如\d
...)。
然而,Bash是相當有限的,但可以通過其他工具,如egrep
(grep -E
),sed
或awk
陪同...
總之,使用正則表達式製造工具之前,我認爲你必須知道語法的正則表達式能夠知道工具的建議是否正確。
正是我想知道的。謝謝伊德里斯。 –
不客氣:) –
@ JudeT.Bonham不要忘記標記爲已解決;) –
- 1. 正則表達式使用GNU C正則表達式庫
- 2. 正則表達式的正則表達式是什麼?
- 3. 使用Henry Spencer正則表達式庫時,(。+ _)*是什麼意思?
- 4. 從JDK使用正則表達式使用正則表達式
- 5. 正則表達式正則表達式正則表達式使用正則表達式,但不是與Python
- 6. 正則表達式模式的正則表達式模式是什麼?
- 7. 正則表達式:爲什麼我的正則表達式過濾不正確?
- 8. 「[^]」正則表達式模式的含義是什麼(javascript正則表達式)?
- 9. 爲什麼Java有一個replaceAll(正則表達式,替換),但replaceAll(正則表達式,正則表達式)?
- 10. 沒有正則表達式庫的簡單正則表達式?
- 11. 正則表達式\\ s *,\\ s *做什麼?
- 12. 「?=」在正則表達式中做什麼?
- 13. 這是什麼正則表達式?
- 14. 什麼是正則表達式?
- 15. Lex這是什麼正則表達式
- 16. 這個正則表達式做什麼?
- 17. 什麼是好的正則表達式?
- 18. 這個正則表達式做什麼?
- 19. 什麼是(\\&| $)正則表達式匹配
- 20. Eclipse的正則表達式$ _GET [ '什麼']
- 21. '\ $'正則表達式匹配什麼?
- 22. 什麼是「Test123」的正則表達式
- 23. 這是什麼正則表達式?
- 24. 什麼是前綴正則表達式?
- 25. 什麼是正則表達式或?
- 26. 什麼正則表達式$ 1 DO
- 27. 正則表達式:什麼是InCombiningDiacriticalMarks?
- 28. 這是什麼正則表達式?
- 29. 什麼是正則表達式接受
- 30. 這將是什麼正則表達式?
Bash正則表達式引擎有一點限制。我強烈建議用Perl學習正則表達式,你學習的任何技能都可以很容易地應用到bash正則表達式中。 –
謝謝塞繆爾。我會按你的建議去做。 –
正則表達式在bash中不常用!球更頻繁地使用。否則,它使用POSIX正則表達式函數,其中'man'位於'man 3 regex'(在我的系統上)。 –