配列に応じて動的に作成される文字列のパターンがあります。私はこれを得るためにRegExpオブジェクトを使用する必要があると信じていますが、どちらもそうはなりません。コンソールログにエラーはないので、オブジェクトの使用法は正しいです。RegExpを使用して、置換で動的に作成されたパターンを文字列として使用する方法は?
var pattern = "(?:\\()(iZeroPosSensor|iZeroPosSensorConnected)(?:\\))" // does not work
//var pattern = /(?:\()(iZeroPosSensor|iZeroPosSensorConnected)(?:\))/ // works
var subst = "(<span class='observer'>$1</span>)"
var regex = new RegExp(pattern, 'g');
検索時に文字列を使用してRegExpを使用したことを思い出しました。
編集:追加のバックスラッシュを追加しましたが、まだ動作しません。
あなたは 'RegExp'を供給するために、文字列を使用している場合、あなたは適切なエスケープを使用する必要があります。例えば '/ \ d * /'は ''\\ d *''になります。それは文字列では別のことが分かっている。 '\('は '\\(' – KarelG
)でなければなりません。あなたのコードをチェックしてください。混乱している変数 'pattern'と' regex' –