轉自:http://www.cftea.com/c/2010/08/5HWU2A5ER4WBIMKF.asp
上午處理文本時,需要替換[和],
試過:
多種寫法都不行:
/[[]]/
/[\[]]/
/[\][]/
/[]\[]/
仔細查閱資料,發現 [是特殊字符,] 不是特殊字符
通常可以這樣寫解決:/\[|\]/, 不過sed部分不支持 |
最終寫法:/[]\]]/
--------------------------------------------------------------------------------
附需要轉義的特殊字符:
資料:正則表達式中的特殊字符(需要轉義)
- ^ 匹配輸入字符串的開始位置,除非在方括號表達式中使用,此時它表示不接受該字符集合。要匹配 ^ 字符本身,請使用 \^。
- $ 匹配輸入字符串的結尾位置。如果設置了 RegExp 對象的 Multiline 屬性,則 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,請使用 \$。
- . 匹配除換行符 \n 之外的任何單字符。要匹配 .,請使用 \。
- \ 將下一個字符標記為或特殊字符、或原義字符、或后向引用、或八進制轉義符。例如, 'n' 匹配字符 'n'。'\n' 匹配換行符。序列 '\\' 匹配 "\",而 '\(' 則匹配 "("。
- | 指明兩項之間的一個選擇。要匹配 |,請使用 \|。
- { 標記限定符表達式的開始。要匹配 {,請使用 \{。
- [ 標記一個中括號表達式的開始。要匹配 [,請使用 \[。
- ( 和 ) 標記一個子表達式的開始和結束位置。子表達式可以獲取供以后使用。要匹配這些字符,請使用 \( 和 \)。
- * 匹配前面的子表達式零次或多次。要匹配 * 字符,請使用 \*。
- + 匹配前面的子表達式一次或多次。要匹配 + 字符,請使用 \+。
- ? 匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。要匹配 ? 字符,請使用 \?
