2013-05-09 75 views
-6

這個表達式的含義是什麼。無法理解?這個正則表達式在java腳本中是什麼意思

function escapeRegExp(string){ 
    return string.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1"); 
} 
+0

[*你有什麼試過?*](http://whathaveyoutried.com)去做一些[研究](https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions) – zzzzBov 2013-05-09 20:36:36

+0

什麼部分你不明白?這是一個簡單的[字符類](http://www.regular-expressions.info/charclass.html),每一個事件都被自身替換,前面是一個反斜槓。 – Bergi 2013-05-09 20:36:43

+0

當你不明白它的作用時,爲什麼要使用它(或想使用)? – Bart 2013-05-09 20:37:00

回答

2

這具有這樣的正則表達式之前某些字符引入反斜線字符\的功能設置[...]

中的人物是:. * + ?^= ! : $ { } () | [ ]/\

注意這些的一些必然與\逃脫,因爲他們有一個正則表達式的上下文中的特殊含義,就像/,和一組內,像]

正則表達式中的外括號具有「捕獲」結果匹配的效果,並且在該函數的第二個參數中,$1是該捕獲的結果。 /g選項意味着重複「全局」,或者重複多次。

+0

非常感謝您的先生 – Ashish 2013-05-09 20:41:25

+0

'/'實際上在正則表達式中沒有任何特殊含義 - 它只是一個斜槓。它只在用正斜槓分隔的正則表達式文字中相關。 – Bergi 2013-05-09 20:43:50

+0

@Bergi感謝您的輸入 – Ashish 2013-05-09 20:48:39

1

這個函數將插入反斜槓只是在string以下字符之前,並返回結果:

. * + ?^= ! : $ { } () | [ ]/\ 
相關問題