2016-04-27 26 views
2

我得到異常喜歡的JSLint預計 ']',而是看到了 '/'

的JSLint預計 ']',而是看到了 '/'。

function returnFilePath(fullPath) { 
    var objRE = new RegExp(/([^//]+)\\/); 
    var stringPath = objRE.exec(fullPath); 
    if (stringPath == null) { 
     return null; 
    } 
    else { 
     return stringPath[1]; 
    } 
} 

沒能找到這個解決方案。

+2

正則表達式在第二個/字符的早期結束。你需要用一個\ –

+0

@ cricket_007來逃避它,它不會提前結束,在一個字符集裏'/'沒有任何特殊的屬性/含義。 – zerkms

+0

@zerkms你不需要圍繞/字符中的正則表達式嗎?例如'/ [A-Z] /'? –

回答

2

看來你的正則表達式是無效: enter image description here (截圖來自:https://regex101.com/

什麼模式,你想匹配? 難道是:

([^\/]+)\\ 
+1

」是無效的「---是什麼讓你這麼想的?它是語法上的正確無誤 – zerkms

+3

@Bruno Garcia它是有效的,只需在瀏覽器控制檯中試用即可。regex101.com默認爲pcre(表明它是無效的),但是如果將它切換到JavaScript,則表明它是有效的。 – reduckted

3

我不知道那是標記這個錯誤(似乎沒有被很多文檔什麼的規則實際上是)確切的規則,但你可以得到通過轉義方括號中的斜槓來消除錯誤:

var objRE = new RegExp(/([^\/\/]+)\\/); 
相關問題