如何在正则表达式中包含变量[重复]
Posted
技术标签:
【中文标题】如何在正则表达式中包含变量[重复]【英文标题】:How to include variable in Regex [duplicate] 【发布时间】:2021-10-07 14:48:35 【问题描述】:我想在文件上传期间使用正则表达式允许/拒绝具有特定文件类型的文件。
这是我想要实现的工作正则表达式 /(\.|\/)(xlsx)$/i
预期输出。
我想要的不是硬编码文件类型,而是将一个保存文件类型的变量传递给正则表达式。
var fileType = 'xlsx';
var regexText = new RegExp("/(\.|\/)(" + fileType + ")$/i");
但是 regexText 的当前输出是 /\/(.|\/)(xlsx)$\/i/
这与预期的输出不同。如何通过使用没有硬编码的变量来获得与上述相同的输出?有没有不使用正则表达式的解决方案可以提供相同的预期输出?
【问题讨论】:
查看RegExp 构造函数。您不需要前导/
,双转义反斜杠,/i
标志应该作为第二个参数。请注意,您可以将交替编写为字符类。
【参考方案1】:
在调用新的 RegExp 之前尝试为正则表达式行形成字符串
【讨论】:
以上是关于如何在正则表达式中包含变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章