[英]write a regular expression in bourne shell script
我正在編寫一個只接受某種格式的用戶參數的腳本。 像MSK16PCF1_SOURCE之類的東西
即正好是3個Alpha字符,后跟2或3位數字,然后是3或4個字母數字,再跟_,再加上一些alpha字符。
我寫了如下正則表達式。
^[[:alpha:]]{2}[A-Z][[:digit:]]{2,3}[0,9][[:alnum:]]{2}[A-Z]?\_[[:alpha:]]*
但它不起作用。 您能否建議需要更改的內容。
$ cat swf.sh
vari=MSK16PCF1_SOURCE
if echo "$vari" | grep -q '^[[:alpha:]]{2}[A-Z][[:digit:]]{2,3}[0,9][[:alnum:]]{2}[A-Z]?_[[:alpha:]]*'; then
echo success
fi
這應該可以滿足您的所有需求。
^[[:alpha:]]{3}[[:digit:]]{2,3}[[:alnum:]]{3,4}_[[:alpha:]]*$
在Basic grep中,您需要轉義花括號以將花括號表示為重復量詞。
^[[:alpha:]]\{3\}[[:digit:]]\{2,3\}[[:alnum:]]\{3,4\}_[[:alpha:]]*$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.