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]+
/…/
表示正则表达式文字,就像[…]
表示数组文字一样,这意味着它们不是表达式的一部分。