任何人都可以幫助我理解爲什麼這不起作用?只是在bash中嘗試一些簡單的正則表達式。正則表達式bash腳本
#!/bin/bash
re="-regex_"
if [[ "$re" =~ ^[-[:alpha:]_]+$ ]]; then
echo "Regex"
else
echo "this is not regex"
fi
乾杯
任何人都可以幫助我理解爲什麼這不起作用?只是在bash中嘗試一些簡單的正則表達式。正則表達式bash腳本
#!/bin/bash
re="-regex_"
if [[ "$re" =~ ^[-[:alpha:]_]+$ ]]; then
echo "Regex"
else
echo "this is not regex"
fi
乾杯
我假設你希望的「-regex_」的值爲true在if語句。
上的[:alpha:]標籤沒有什麼可說的搜索多個字母數字字符。
嘗試
[[ "$re" =~ ^-[[:alpha:]]+_$ ]]
我跟着你的例子,仍然沒有。我有權限設置,我在正確的文件夾。 –
你使用過編輯過的嗎?我發佈的第一個有一個錯誤...愛正則表達式-_- – nick
我只是試了一下,仍然沒有,很奇怪。有任何想法嗎? –
如果您在運行它的錯誤,請確保您使用的Unix行結尾(通過DOS2UNIX的運行),並確保它被標記爲可執行文件。否則,該腳本會爲我打印「Regex」。
它適用於我 –
在我的它不做任何事,沒有任何錯誤或任何東西。 –
什麼是BASH版本? – anubhava