如何将正则表达式与字符串变量连接起来

How to concat a regex expression with a string variable?

本文关键字:变量 连接 起来 字符串 正则表达式      更新时间:2023-09-26

我有一个正则表达式:

var myVar = "some text";
var decimal = /^'s*('+|-)?(('d+(','d+)?)|(','d+))'s*$/;

如何连接它与myVar变量是一个字符串?

我尝试了下面的操作,但没有成功:

var decimal = new RegExp("/^'s*('+|-)?(('d+('" + myVar + "'d+)?)|('" + myVar + "'d+))'s*$/");

您不需要在开头添加/, new RegExp(...)'的末尾应转义,如anubhava所述:

var decimal = new RegExp("^''s*(''+|-)?((''d+(" + myVar + "''d+)?)|(" + myVar + "''d+))''s*$");

根据连接练习,您可以这样做:

var decimal = new RegExp("^(''s*(''+|-)?((''d+(,''d+)?)|(,''d+))''s*)" + myVar + "$");

请记住,myVar也可以包含需要转义的特殊regex元字符

您需要转义字符串中的反斜杠。

var decimal = new RegExp("/^''s*(''+|-)?((''d+('',''d+)?)|('',''d+))''s*$/" + myVar);