Javascript 使用包含正则表达式的变量

Javascript 使用包含正则表达式的变量,javascript,regex,Javascript,Regex,我想将正则表达式存储在一个变量中,以便多次使用。例如,我有一些正则表达式可以使用逗号分隔数字: 当然,它的输出是字符串1400000,但是我在包含不同数字/长度的许多变量上使用了很多次,为了简单起见,我更愿意将其存储在变量中,而不是每次显式编写它。这是可能的吗?只需将regexp分配给一个变量: var numberCommasRegexp=/\B(?=(\d{3})+(?!\d))/g; var numAcquired=1400000; numAcquired=numAcquired.toS

我想将正则表达式存储在一个变量中,以便多次使用。例如,我有一些正则表达式可以使用逗号分隔数字:


当然,它的输出是字符串
1400000
,但是我在包含不同数字/长度的许多变量上使用了很多次,为了简单起见,我更愿意将其存储在变量中,而不是每次显式编写它。这是可能的吗?

只需将regexp分配给一个变量:

var numberCommasRegexp=/\B(?=(\d{3})+(?!\d))/g;
var numAcquired=1400000;
numAcquired=numAcquired.toString().replace(numberCommasRegexp,,);
警觉(不需要),并且您已经使用的形式--
/\B(?=(\d{3})+(?!\d))/g
--是它的文本形式。因此,您可以像任何文字形式一样将该值指定给变量:

var pattern = /\B(?=(\d{3})+(?!\d))/g
然后在任何接受模式的
String
方法中重用该值:

numAcquired.toString().replace(pattern, ',');

如果您想要一个可运行的示例,请参阅我同事的答案,答案与此相同。

var re=new RegExp('\B(?=(\d{3})+(?!\d)),'g')?您已经知道如何声明变量,以及如何生成正则表达式对象。那就不难了,这是个有道理的问题。谢谢你的邀请。记住接受最好的答案@Oriol,并不是所有对你来说显而易见的事情对其他人来说都是显而易见的。RegExp不是一种类型。哈,我真傻,我以为它不仅仅是这样;以前我试过的时候它不起作用。。第一次肯定做错了什么
numAcquired.toString().replace(pattern, ',');