1
我不是說這個問題只適用於UNIX,但是我在Solaris上工作,並且我沒有在任何其他操作系統上嘗試它。UNIX中的擴展正則表達式
第一: 我的擴展正則表達式之間的混淆
[[ "str" == ?(str|STR) ]] && echo "matched"
這項工作是正確的,但是當:
[[ "str str" == ?(str|STR)(.*) ]] && echo "matched"
這是行不通的,這是否意味着我只能比較一種模式。
二:
[[ "str" =~ ?(str|STR) ]] && echo "matched"
我不能在這裏爲什麼要用這種形式?,但當:
[[ "str" == (str|STR)? ]] && echo "matched"
它工作正常。