我看过一些关于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];
}
一个“真正的”程序员可能很容易想出一些更简单的东西。任何帮助,将不胜感激。
谢谢。