【问题标题】:Javascript regular expression - string to RegEx objectJavascript 正则表达式 - 字符串到 RegEx 对象
【发布时间】:2011-01-04 00:12:14
【问题描述】:

我确定我错过了一些非常小的东西,但我无法弄清楚。

我有一个 JavaScript 变量,其中包含正则表达式模式,但我似乎无法使其与 RegEx 类一起使用

以下内容总是为假:

var value = "someone@something.com";
var pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"
var re = new RegExp(pattern);
re.test(value);

但如果我将其更改为正确的正则表达式(通过删除引号并在模式的开头和结尾添加 /),它就会开始工作:

var value = "someone@something.com";
var pattern = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/
var re = new RegExp(pattern);
re.test(value);

由于我总是将模式作为变量中的字符串获取,因此我无法弄清楚我在这里缺少什么。

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    反斜杠是字符串中的特殊字符,需要用另一个反斜杠进行转义:

    var value = "someone@something.com";
    var pattern = "^\\w+@[a-zA-Z_]+?\\.[a-zA-Z]{2,3}$"
    var re = new RegExp(pattern);
    re.test(value);
    

    【讨论】:

    • 天哪,我知道我错过了一些非常简单的事情。谢谢!!
    • 换个例子就不简单了。
    猜你喜欢
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多