0
我想使用的代碼找到正則表達式
echo "enter file path"
read upfile
chkregex="REGEX\s+WITH\s+\/(.*)\/"
while read line ;
do
if [[ $line =~ $chkregex ]];
then
echo "${BASH_REMATCH[1]}" >>ct.txt
fi
done<$upfile
喜歡讓我的文件中的數據來提取我的文件中的正則表達式得到錯誤有類似
REGEX WITH /^\s*COPY\s+pickled\_test\_license\s+\(id\,\s+report\_i/
使正則表達式的部分應被提取。 但是當我運行我得到這樣
^s*COPYs+pickled_test_licenses+(id,s+report_i
這會自動刪除\ 的數據我不知道爲什麼會這樣發生
我的問題不在於它不符合我行,但我的問題是,當它提取的數據(*),它會自動轉義\這個。就像如果我的文件中包含類似\ S +它提取出來作爲部分s + ... \將被自動刪除。我不知道爲什麼 –
啊,同樣的原因,不同的解決方案。要匹配文字反斜槓,您需要將其轉義。 – chepner
其實,我完全錯誤的軌道(寫正則表達式匹配正則表達式很棘手!) – chepner