Javascript 在Regexp中设置动态模式

Javascript 在Regexp中设置动态模式,javascript,regex,Javascript,Regex,我的问题是,有没有办法在匹配参数中设置动态模式?当使用new Regex()时,需要删除开头和结尾/字符,如下所示: var txtpattern = '/[a-z]+/'; var regex = new RegExp(txtpattern); var result = txtstring.match(regex); //returns null var result = txtstring.match(/[a-z]+/); //returns some value 使用new Regex(

我的问题是,有没有办法在匹配参数中设置动态模式?

当使用
new Regex()
时,需要删除开头和结尾
/
字符,如下所示:

var txtpattern = '/[a-z]+/';
var regex = new RegExp(txtpattern);
var result = txtstring.match(regex); //returns null
var result = txtstring.match(/[a-z]+/); //returns some value
使用
new Regex()
时,需要删除开头和结尾
/
字符,如下所示:

var txtpattern = '/[a-z]+/';
var regex = new RegExp(txtpattern);
var result = txtstring.match(regex); //returns null
var result = txtstring.match(/[a-z]+/); //returns some value

是的,你是怎么做到的。我假设
txtpattern
中的表达式不正确。可能它包含了
/
,这不是表达式的一部分。你必须省略它们。或者您没有正确地退出
\
。但是没有看到
textpattern
的值,这些只是猜测。关于您的更新:在第一种情况下,您的表达式是
/[a-z]+/
,在第二种情况下,它是
[a-z]+
/…/
表示正则表达式文字,就像
[…]
表示数组文字一样,这意味着它们不是表达式的一部分。是的,正是您这样做的。我假设
txtpattern
中的表达式不正确。可能它包含了
/
,这不是表达式的一部分。你必须省略它们。或者您没有正确地退出
\
。但是没有看到
textpattern
的值,这些只是猜测。关于您的更新:在第一种情况下,您的表达式是
/[a-z]+/
,在第二种情况下,它是
[a-z]+
/…/
表示正则表达式文字,就像
[…]
表示数组文字一样,这意味着它们不是表达式的一部分。