私はこのSOに長い間来て、文字数を設定したいと思います。そのため、式を String として作成し、 を使用する必要がありますnew RegExp()
。そのため、スニペットを少し変更して、新しいRegExp
オブジェクトを使用します
オリジナル
var t = "this is a longish string of text";
t.replace(/^(.{11}[^\s]*).*/, "$1");
//result:
"this is a longish"
正規表現あり
var t = "this is a longish string of text";
var count = 11;
t.replace(new RegExp('^(.{' + count + '}[^\s]*).*'), "$1");
//result:
"this is a longi"
ご覧のとおり、2 番目の結果は期待どおりではありません。ここでリテラルを使用することと RegExp オブジェクトを使用することの違いについてのヒントがあります。