2015-05-19 65 views
-5

這是代碼我試圖執行逃生「+」在JavaScript正則表達式

input.replace(/^.+?(?=\+)/, ''), "i") 

我有逃逸加上\+但我得到錯誤

Uncaught SyntaxError: Invalid regular expression: /+/: Nothing to repeat 

請讓我知道如何在上述正則表達式中跳出+

+0

您確定這是您的實際正則表達式嗎? [regex101似乎認爲沒關係](https://regex101.com/r/xZ3bZ1/1)。 –

+0

我不是javascript的專家,但我認爲你需要把你的正則表達式放在基於http://www.w3schools.com/jsref/jsref_replace.asp – childofsoong

+1

的引用中。這不能是真正的代碼,你的圓括號沒有意義。 (一旦修復,代碼不會拋出任何錯誤。) – CBroe

回答

1

您需要將i修飾符放在正則表達式的末尾 - 而不是作爲單獨的參數。例如:

input.replace(/^.+?(?=\+)/i, ''); 

由於@LorenzMeyer已經指出的那樣,你實際上並不需要我修改,因爲情況下根據您正則表達式是無關緊要的。也許你需要全球替代?在這種情況下,您的替換將如下所示:

input.replace(/^.+?(?=\+)/g, ''); 
+2

'我'是沒有必要的。這裏我沒有看到任何區分大小寫的內容。 –

+0

@LorenzMeyer這是真的。 – Donal