使用包含Regex的变量
Use Variable that contains Regex
我想将regex存储在一个要多次使用的变量中。例如,我有一些正则表达式来使用逗号分隔数字https://jsfiddle.net/Le7wayee/:
var numAcquired = 1400000
numAcquired = numAcquired.toString().replace(/'B(?=('d{3})+(?!'d))/g, ",");
当然,它的输出是字符串1,400,000
,但我在许多包含不同数字/长度的变量上多次使用它,为了简单起见,我更喜欢将它存储在一个变量中,而不是每次都显式写入它。这是可能的吗?
只需将正则表达式分配给一个变量:
var numberCommasRegexp = /'B(?=('d{3})+(?!'d))/g;
var numAcquired = 1400000;
numAcquired = numAcquired.toString().replace(numberCommasRegexp, ',');
alert(numAcquired);
但是,您可以定义一个函数来执行此操作,而不是一直编写replace()
表达式。
function addCommas(number) {
return number.toString().replace(/'B(?=('d{3})+(?!'d))/g, ",");
}
var numAcquired = 14000000;
numAcquired = addCommas(numAcquired);
alert(numAcquired);
RegExp
是JavaScript中的原生类型,并且您已经使用的形式--/'B(?=('d{3})+(?!'d))/g
-是其文本形式。因此,您可以像任何文本形式一样将该值分配给变量:
var pattern = /'B(?=('d{3})+(?!'d))/g
然后在接受模式的String
的任何方法中重用该值:
numAcquired.toString().replace(pattern, ',');
如果你想要一个可运行的例子,请参阅我同事的答案。
相关文章:
- 在Javascript中添加多个变量以使用RegEx函数
- 从javascript regex.exec分配多个变量
- 使用javascript中的捕获组从变量创建regex
- 在RegEx(JavaScript)中正确转义变量
- 用于提取基于点概念的变量的动态Regex
- 使用带有.match Regex表达式的变量的JavaScript
- Backbone.js路由中的变量:需要regex
- 具有动态变量的Regex
- Regex JavaScript字符串并将结果存储到变量中
- Regex将一些变量转换为js
- Javascript:测试regex并赋值给变量,如果它在一行中匹配
- 如何将RegEx反向引用作为变量传递
- 如何在JQuery中使用regex (field $)向字符串变量添加整数
- Regex只接受变量名
- RegEx:从URL提取GET变量
- 将regex $1和$2保存为javascript变量
- 用字符串javascript regex匹配存储在变量或数组中的值
- 使用regex解释不同类型的变量,并使用jquery进行查找和替换
- PHP Regex从JSON变量中获取内容
- 使用包含Regex的变量