2016-07-19 12 views
0

RegExpコンストラクタを使用して "/ $"というフレーズと一致させようとしていますが、エスケープの量が役に立たないようです。何かが欠けていますか?

RegExp("\/\$").test("/$") 
// false 
RegExp("/$").test("/$") 
// false 
RegExp("\/$").test("/$") 
// false 
RegExp("/\$").test("/$") 
// false 
+1

を '正規表現( "\\ $")試験( "$")'。 – Rayon

+0

'RegExp(" \\/\\ $ ")。test("/$ ")' –

答えて

2

あなたは\\の代わり\を使用する必要があると/をエスケープするか、直接正規表現/\/\$/を使用する必要はありません。詳細についてはRegExp documentationをチェックしてください。

コンストラクタ関数を使用するときは、通常の文字列エスケープ規則(文字列に\が含まれている場合は先行する特殊文字)が必要です。例えば

/\w+/new RegExp('\\w+')

console.log(
 
    RegExp("/\\$").test("/$") 
 
) 
 

 
//or 
 

 
console.log(
 
    /\/\$/.test("/$") 
 
)

に相当する参照してください。Javascript regular expression - string to RegEx object

関連する問題