如何创建与变量连接正则表达式模式,如下所示:
var test ="52";
var re = new RegExp("/\b"+test+"\b/");
alert('51,52,53'.match(re));
谢谢
发布于 2010-04-26 19:07:52
var re = new RegExp("/\b"+test+"\b/");
字符串文字中的\b
是一个退格符。当将正则表达式放入字符串文字中时,您需要再进行一轮转义:
var re = new RegExp("\\b"+test+"\\b");
(在此上下文中也不需要//
。)
发布于 2019-06-28 18:19:44
使用ES2015 (也称为ES6),您可以在构造RegExp时使用template literals
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))
发布于 2010-04-26 19:12:53
您可以使用
/(^|,)52(,|$)/.test('51,52,53')
但我建议使用
var list = '51,52,53';
function test2(list, test){
return !((","+list+",").indexOf(","+test+",") === -1)
}
alert( test2(list,52) )
https://stackoverflow.com/questions/2712878
复制相似问题