javascript - 如何将正则表达式分配给变量以供以后在字符串上使用?

标签 javascript regex oop

我目前有这个:

var input = "some input";
var firstRegex = input.match(/[aeiou]/gi);
var secondRegex = /ee/.test(input);

因此,如果输入变量未定义,两个正则表达式都会阻止代码在浏览器中编译。

有没有办法将正则表达式分配给变量,以便以后可以在输入时调用它们?

例如,在对象内部:

var checkStrings = {

 firstRegex : match(/[aeiou]/gi),
 secondRegex : /ee/,

}

// call on input
 checkStrings.firstRegex(input);

最佳答案

link来自 Mozilla 的文章更详细地介绍了 js 中的 RegExp 对象,但是如果您只想将正则表达式分配给变量,您可以这样做:

var firstRegex = new RegExp(/[aeiou]/gi);
var secondRegex = new RegExp(/ee/);

然后您可以像现在一样调用它们。

if (input) {
    var matches = input.match(firstRegex);
    var passedTest = secondRegex.test(input);
}

您显然可以按照@IIya 的建议在对象中更轻松地执行此操作,但我想我会在 js 中添加一些有关 RegExp 对象的信息。

关于javascript - 如何将正则表达式分配给变量以供以后在字符串上使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34376221/

相关文章:

python - 在 Python 中使用 str.replace() 删除函数包装

c# - 限制正则​​表达式的长度

java - 在两个jsp文件之间传递值

javascript - 为什么服务器在 POST 方法请求后以 GET 响应?

regex - 如何使用 Windows PowerShell 正则表达式删除文件名末尾的一个或多个空格?

java - Liskov 替换原则 VS 接口(interface)隔离原则

java - 为什么 Java 允许在接口(interface)中嵌套类定义?

ruby - 为什么 Ruby 有 Numeric.new?

javascript - 将对象传递给函数时检索索引

javascript - window.onbeforeunload 在页面刷新时执行,而不是在页面关闭时执行