第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

咨詢下老師,if判斷里不能用正則表達(dá)式么?

咨詢下老師

if [判斷]

????then

????????程序

fi

這個結(jié)構(gòu)里的判斷能否用正則表達(dá)式

比如判斷符號為+-*/之一,可否寫成

if [ "$ope" == [+-*/] ]

我一開始這樣寫,沒有加數(shù)字的判斷

是成功了

后來加了數(shù)字的判斷,就不行了

不曉得是碰巧還是我的寫法有問題

如果能用正則,這個計算器就簡單多了


-----------------------------------------------


我做了一個小案例

#!/bin/bash

#輸入字符串str

read -p "please input a string:" str

#如果字符串含有數(shù)字

if [ "$str" == "[0-9]" ]

????then

#輸出“有數(shù)字”

????????echo "have number!"

#否則

else

#輸出“沒有數(shù)字”

????echo "haven't number!"

fi


請問這樣寫對么?

我輸入單數(shù)字“4”

都顯示"haven't number!"

求指教

-------------

順帶說一句 ?我把“”去了也不行

貌似if [判斷]

中的判斷只能識別字符串(可轉(zhuǎn)數(shù)字)

正則中的[]也會被識別成字符串

求高手指點

正在回答

4 回答

首先要先定義符號變量sign="^[+,-,*,/]$"

然后判斷ope是否符合sign正則表達(dá)

if [ "$ope" =~ ?$sign ]

注意語法格式。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

你像風(fēng)一樣0912

if后面寫錯了,應(yīng)該是if [[ "$ope" =~ $sign ]]
2017-12-29 回復(fù) 有任何疑惑可以回復(fù)我~

[[]]可以解決,但不應(yīng)該是"[0-9]"吧,應(yīng)該沒有引號

0 回復(fù) 有任何疑惑可以回復(fù)我~

已找到答案

if后判斷用匹配 ?需要套用[[]]格式

0 回復(fù) 有任何疑惑可以回復(fù)我~

可以用正則的,這個與數(shù)字判斷沒有關(guān)系的吧

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

咨詢下老師,if判斷里不能用正則表達(dá)式么?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號