正则expression式之间如何使用dynamicvariables

我有string,其中包含一些date和一些逗号分隔值这样的

var a = "1,13,20160308,200500000012016,10,Pending,01-02-2016,1|#|1,13,20160418,200500000012016,10,Pending,08-03-2016,1|#|1,13,20160623,200500000012016,10,Pending,18-04-2016,1|#|1,13,20160803,200500000012016,10,Pending,23-06-2016,1|#|1,13,20160912,200500000012016,10,Pending,03-08-2016,1|#|1,13,20161022,200500000012016,10,Pending,12-09-2016,1|#|1,13,20161129,200500000012016,10,Pending,22-10-2016,1|#|1,13,20170110,200500000012016,10,Pending,29-11-2016,1|#|1,13,20170215,200500000012016,10,Pending,10-01-2017,1|#|15-02-2017 APPEARANCE" 

正则expression式:/(.)*? /(.)*?01-02-2016(.)*?\|\#\|/igm通过使用这个正则expression式,我可以删除string中不必要的部分。

现在我想dynamic地更改03-08-3016(date)。 如果我使用var date =“ /(.)*?${date}(.)*?\|\#\|/igm ”var reg = /(.)*?${date}(.)*?\|\#\|/igm ;

如果你在console.log中获取reg,你会得到如下console.log(reg) —-> output :'/(。) ?01-02-2016(。) ?|#| / igm'

预期最终输出将删除01-02-2016,1 |#|

用这个。

 var regex="(.)*?01-02-2016(.)*?\\|\\#\\|"; var rx=new RegExp(regex,"igm"); console.log(rx); //Then when do you want to change, regex=regex.replace("01-02-2016","03-02-2016"); rx=new RegExp(regex,"igm"); console.log(rx);