something
文字列の先頭または末尾で一致させたい場合は、次のようにします。
/^something|something$/
あなたの変数で:
new RegExp("^" + name + "|" + name + "$");
編集:更新された質問では、name
変数を文字列全体に一致させる必要があるため、次のようになります。
new RegExp("^" + name + "$"); // note: the "g" flag from your question
// is not needed if matching the whole string
name
しかし、正規表現自体が含まれていない限り、それは無意味です。
var strToTest = "something",
name = "something",
re = new RegExp("^" + name + "$");
if (re.test(strToTest)) {
// do something
}
次のように言うこともできます。
if (strToTest === name) {
// do something
}
EDIT 2: OK、あなたのコメントから、正規表現は、テスト文字列のどこにでも個別の単語として「何か」が現れる場所に一致する必要があると言っているようです。
"something else" // should match
"somethingelse" // should not match
"This is something else" // should match
"This is notsomethingelse" // should not match
"This is something" // should match
"This is something." // should match?
それが正しければ:
re = new RegExp("\\b" + name + "\\b");