3
$ expr match "can't find" 'c'
$ 1
然後我輸入
$ expr match "234can't find" 'c'
$ 0
我想不通爲什麼?
$ expr match "can't find" 'c'
$ 1
然後我輸入
$ expr match "234can't find" 'c'
$ 0
我想不通爲什麼?
的man
頁的expr
版本不是很清楚:
STRING : REGEXP
anchored pattern match of REGEXP in STRING
match STRING REGEXP
same as STRING : REGEXP
究竟什麼不「掛靠」是什麼意思? BSD版清除的東西了:
正則表達式錨定到 開始與一個隱含的``^「」的字符串。
所以expr match "234can't find" 'c'
是相同的expr match "234can't find" '^c'
,由於您的字符串不開始有c
,匹配失敗。
由於bash
支持正則表達式匹配本身,你可以贊成
[[ "234can't find" =~ c ]]
放棄
expr
命令你救我,chepner。 – 2013-04-27 11:51:30