다음과 같이 변수와 연결되는 정규식 패턴을 만드는 방법 :
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");
( //
이 컨텍스트 에서는 필요하지 않습니다 .)
new RegExp('\b'+test+'\b');
When putting a regex in a string literal you need one more round of escaping
; (그 이유)에 대한 배경 정보가 있습니까?
new
. 그러나 이것이 사실이 아닐 수있는 다른 객체와의 일관성과 일반적으로 명확성을 위해 항상new
.