2015-09-06 72 views
0

如何擺脫捲曲中的這些特殊字符。下面的內容在查詢部分中傳遞。我正在嘗試查詢splunk數據,這是使用rex命令的reg表達式。沒有下面的字符,它工作正常。但我需要這成爲查詢的一部分。 (?I)如何擺脫捲曲後的特殊字符

^(:[^ - ] * - ?){} \ S + \ d +

我試圖給-g停止通配。但那不行。有沒有更簡單的方法來做到這一點。我在curl中傳遞--data urlencode,因此編碼會自動處理。

+0

查看是否在http://stackoverflow.com/questions/102049/how-do-i-escape-the-wildcard-asterisk-character-in-幫助bash會幫助你。由於我懷疑這是一個殼問題,而不是一個捲曲問題。 –

+0

你可以嘗試將你的curl腳本添加到.sh文件並運行它? – Shakeel

回答

0

我最近遇到了完全相同的問題陳述。當它包含[]個字符時,Splunk對我的正則表達式有問題。我還使用了捲曲,並且發送了我的搜索查詢,其中包含curl的-d參數用於發佈數據。我嘗試了幾種括號編碼的變體(轉義它們,百分比編碼它們等),但無濟於事。

我的解決方案是使用--data-url-encode參數,而不是--data參數。

來自卷邊幫助:

$ curl --help | grep "\-\-data" 
    -d/--data <data> HTTP POST data (H) 
    --data-ascii <data> HTTP POST ASCII data (H) 
    --data-binary <data> HTTP POST binary data (H) 
    --data-urlencode <name=data/[email protected]> HTTP POST data url encoded (H)