1

我看过一些关于JSLint“错误擒纵”警告的帖子,但我只是想看看我是否正确地执行了这个正则表达式。(注意 - 我是涉足程序员)。

我有一个函数(如下),它试图从长消息中的名称中解析出一个变量。正则表达式运行良好,但我应该更改一些内容以响应 JSLint 警告吗?

一个非常简化的 msg 版本基本上看起来像这样:

变量名称 1 = 值 1
变量名称 2 = 值 2 变量名称 3 = 值
3

实际的 msg 上面和下面有不同的非结构化数据。我不得不使用一个奇怪的正则表达式,因为即使一个更简单的正则表达式适用于所有测试网站,它在我们正在使用的服务器应用程序中不起作用,所以这是我让它工作的唯一方法。正则表达式包含一个变量。

这是我正在使用的解析函数:

    function parseValue(msg, strValueName) {
        var myRegexp = new RegExp(strValueName + ' = ([A-Z3][a-zA-Z\. 3]+)[\\n\\r]+', 'gm');
        log('parseValue', 'myRegexp = ' + myRegexp.toString());
        var match = myRegexp.exec(msg);
        log('parseValue', 'returning match = ' + match[1] );
        return match[1];
    }

一个“真正的”程序员可能很容易想出一些更简单的东西。任何帮助,将不胜感激。

谢谢。

4

1 回答 1

0

JSLint 不喜欢的问题是 '.' 'Explosion Pills' 指出的字符类中的字符。

当我删除“。” 一切都很好。

谢谢。

于 2013-02-01T15:37:04.993 回答