天天看點

正規表達式之特殊字元

今天在拆分字元串的時候用“|”作拆分依據,導緻了問題。原來“|”是特殊字元,需要進行轉義,在此将正規表達式中需要轉義的特殊字元進行梳理。

正規表達式中的特殊字元,就是一些有特殊含義的字元,如“*.txt”中的*,簡單的說就是表示任何字元串的意思。

如果要查找檔案名中有“*”的檔案,則需要對“*”進行轉義,即在其前加一個“\”。正規表達式有以下特殊字元,需要轉義 :

特别字元 說明
$ 比對輸入字元串的結尾位置。如果設定了 RegExp 對象的 Multiline 屬性,則 $ 也比對 ‘\n' 或‘\r'。要比對 $ 字元本身,請使用 \$。
( ) 标記一個子表達式的開始和結束位置。子表達式可以擷取供以後使用。要比對這些字元,請使用 \( 和 \)。
* 比對前面的子表達式零次或多次。要比對 * 字元,請使用 \*。
+ 比對前面的子表達式一次或多次。要比對 + 字元,請使用 \+。
. 比對除換行符 \n之外的任何單字元。要比對 .,請使用 \。
[ ] 标記一個中括号表達式的開始。要比對 [,請使用 \[。
? 比對前面的子表達式零次或一次,或指明一個非貪婪限定符。要比對 ? 字元,請使用 \?。
\ 将下一個字元标記為或特殊字元、或原義字元、或向後引用、或八進制轉義符。例如, ‘n' 比對字元‘n'。'\n' 比對換行符。序列 ‘\\' 比對 “\”,而 ‘\(' 則比對 “(”。
^ 比對輸入字元串的開始位置,除非在方括号表達式中使用,此時它表示不接受該字元集合。要比對 ^ 字元本身,請使用 \^。
{ } 标記限定符表達式的開始。要比對 {,請使用 \{。
| 指明兩項之間的一個選擇。要比對 |,請使用 \|。

構造正規表達式的方法和建立數學表達式的方法一樣。也就是用多種元字元與操作符将小的表達式結合在一起來建立更大的表達式。正規表達式的元件可以是單個的字元、字元集合、字元範圍、字元間的選擇或者所有這些元件的任意組合。

注意:“\”本身,你也得進行轉義,是以要查找“|”,就應該寫成“\\|”。

參考:

http://www.jb51.net/article/31478.htm

http://deerchao.net/tutorials/regex/regex.htm

繼續閱讀