121 Stimmen

JavaScript-Regex-Muster mit Variable verketten

Wie kann man ein Regex-Muster erstellen, das mit einer Variablen verkettet wird, etwa so:

var test ="52";
var re = new RegExp("/\b"+test+"\b/"); 
alert('51,52,53'.match(re));

Merci

183voto

bobince Punkte 512550
var re = new RegExp("/\b"+test+"\b/"); 

\b in einem Zeichenfolgenliteral ist ein Rückschrittzeichen. Wenn Sie eine Regex in ein String-Literal einfügen, benötigen Sie eine weitere Runde von Escaping:

var re = new RegExp("\\b"+test+"\\b"); 

(Sie brauchen auch nicht die // in diesem Zusammenhang).

28voto

J.G.Sebring Punkte 5804

Mit ES2015 (aka ES6) können Sie Vorlagenliterale beim Bau von RegExp :

let test = '53'
const regexp = new RegExp(`\\b${test}\\b`, 'gi') // showing how to pass optional flags
console.log('51, 52, 53, 54'.match(regexp))

8voto

Lauri Punkte 1190

Können Sie

/(^|,)52(,|$)/.test('51,52,53')

aber ich empfehle die Verwendung von

var list = '51,52,53';
function test2(list, test){
    return !((","+list+",").indexOf(","+test+",") === -1)
}
alert( test2(list,52) )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X