[javascript] JavaScript 정규식 패턴은 변수와 연결

다음과 같이 변수와 연결되는 정규식 패턴을 만드는 방법 :

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

감사



답변

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

\b문자열 리터럴에서 백 스페이스 문자입니다. 정규식을 문자열 리터럴에 넣을 때 한 번 더 이스케이프가 필요합니다.

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

( //이 컨텍스트 에서는 필요하지 않습니다 .)


답변

ES2015 (일명 ES6)를 사용 하면 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))


답변

당신이 사용할 수있는

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

하지만 나는 사용하는 것이 좋습니다

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


답변