Як створити шаблон регулярного виразу, який поєднується зі змінною, приблизно так:
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.