另一個字符我有一個非常簡單的代碼看起來像這樣:確保焦炭的每一次出現之後在bash
txt="hard==2.3.3 soft==2.1.1 weak rep=2.1"
if [[ $txt =~ ([^\=]\=\=[^\=])* ]]; then
echo "Good"
else
echo "Bad"
# Output is "Bad"
我想if
聲明時,纔會有==
是真實的,所以如果有一個獨奏=
或者如果有===
這是錯誤的。所以基本上,如果有=
,那麼後面必須有第二個。如果沒有=
(與weak
一樣),那就沒問題。
我的代碼存在的問題是,只要txt中至少有一個==
,if
就會成立。有沒有辦法確保每次發生都有第二個=
?由於
看起來你需要'([^ =] | ^)=($ | [^ =] )| ==='正則表達式,如果匹配,則返回「Bad」。 –
你缺少一些引號:'txt = hard == 2.3.3 soft == 2.1.1 weak rep = 2.1'會給你'弱:找不到命令' –