我有一個正則表達式,我需要驗證。正則表達式中有雙引號,但我似乎無法弄清楚如何正確地轉義它們。Bash正則表達式條件
第一次嘗試不起作用,因爲引號沒有被轉義。
while read line
do
if [[ $line =~ "<a href="(.+)">HTTP</a>" ]]; then
SOURCE=${BASH_REMATCH[1]}
break
fi
done < tmp/source.html
echo "{$SOURCE}" #output = {"link.html"} (with double quotes)
我怎樣才能正確運行此所以輸出link.html沒有雙引號。
我已經試過......
while read line
do
if [[ $line =~ "<a href=/"(.+)/">HTTP</a>" ]]; then
SOURCE=${BASH_REMATCH[1]}
break
fi
done < tmp/source.html
echo "{$SOURCE}" #output = {}
沒有運氣。有人可以幫助我,這樣我就可以停止在我的桌子上打我的頭了嗎?我對Bash不太滿意。謝謝!
你試過''\\,在世界各地regognized其現在通用轉義字符。 – sln 2011-03-03 20:50:35