轉:http://hi.baidu.com/zhangge9477/blog/item/1db061d4b4ec7f08a08bb7da.html
如題,需要詳細解釋!每個匹配模式都需要解釋清楚,那 /g 是什麼意思呀?謝謝。
還有str.replace(/^\s*(.*?)[\s\n]*$/g, '$1')的$1'是什麼意思?
答:g全稱是global(全部),作用是開啟全域匹配,$1 等於前面匹配的()中的內容
補充知識:
i:代表不區分大小寫匹配。 英文是ignore(忽略),表明在被尋找的字串中匹配樣式的時候尋找操作將不區分大小寫。
m:代表可以進行多行匹配。 英文是multiple(多選),標誌在多行的字串中進行尋找
第一個^表示從你要尋找的字串的第一位開始匹配比如123 正則為1 那麼這裡123的1 就匹配這個正則。。如果是213 這裡213裡面的1 就不匹配這個正則 \s 包括空格、定位字元、換頁符等空白字元的其中任意一個後面跟個*表示 可以匹配0-N次,(.*?)這個小括弧裡面的“.”小數點可以匹配除了分行符號(\n)以外的任意一個字元而後面跟*也是說的 可以匹配0-N次後面的[\s\n]*表示這裡匹配一個字元而這個字元只能是\s或者\n裡面的 \n表示斷行符號和分行符號,*就不多說了 最後$表示正則匹配的結束,這個與^合起來用。,也就是說 這個匹配的字串 必須以\s\n裡麵包含的字元結束
這個JS函數的作用就是正則替換。。符合正則條件的就替換成$1
replace ( string1, start, n, string2 )
參數string1:string類型,指定要使用string2替換其中一部分內容的字串;start:long類型,指定要從哪個字元位置開始替換字串,字串中第一個字元的位置為1;n:long類型,指定要替換多少個字元;string2:string類型,指定用哪個字串替換string1的部分字元傳回值String。函數執行成功時返回替換後的字串,發生錯誤時返回Null 字元串("")。如果任何參數的值為NULL,Replace()函數返回NULL。用法如果start參數指定的位置超過了string1的長度,那麼Replace()函數把將string2拼接到string1的後面形成的字串返回。如果n的值為0,那麼Replace()函數把string2插入到string1指定位置後形成的字串返回。