2013-02-06 41 views
0

我試圖替換所有出現的字符串***deal***當我使用下面的代碼時,我收到一個Quantifier {x,y} following nothing錯誤。在正則表達式中使用*作爲查找的值

var regex = new RegExp('***deal***', 'g'); 
Content=Content.replace(regex, DEAL); 

任何人都可以填寫我應該如何通過錯誤嗎?

作爲一個說明,我正在使用服務器端JavaScript與.NET後端。

感謝

回答

3

*是元字符(意爲「前面的令牌的零個或多個」,並沒有什麼在你的正則表達式的*小號在前,因此錯誤消息)需要被轉義:

var regex = /\*\*\*deal\*\*\*/g; 

我已經使用了正則表達式,因爲它允許您減少反斜槓的數量;使用正則表達式構造相當於將

var regex = new RegExp('\\*\\*\\*deal\\*\\*\\*', 'g'); 
+0

對不起我不我想我已經說清楚了。我需要替換所有出現的'*** deal ***'上面的代碼只返回交易值 –

+0

@SandeepBansal:上面的代碼只是構造一個正則表達式。你仍然需要調用'replace()'方法(就像你在你的問題中所做的那樣)。 –

+0

剛剛工作。感謝一堆:) –

1

由反斜線正則表達式中的特殊字符\

var regex = new RegExp('\\*\\*\\*deal\\*\\*\\*', 'g'); 

的字符串值,還需要逃避\導致'\\'