JSLint Regexp违规Quandry

时间:2011-08-21 14:05:54

标签: javascript regex node.js jslint

我有以下常规表达

/\<oauth_token\>([^\<]*)\<\/oauth_token\>/

我看到未转义的jslint违规&lt;人物,但无法解决原因。有人可以开导我吗?

此正则表达式正在分配给变量,并在整个文件中使用。它位于nodejs模块中。

这是一个克服非标准符合的OAUth响应的黑客攻击,将在未来的某个时间点修复。我不想引入XML解析器作为解决问题的额外依赖。

我看到了JSHint和node-jslint的违规行为。

您可以在github上看到该文件的完整源代码。来自JSHint的确切输出如下:

lib/oauth-helper.js: line 5, col 21, Unexpected escaped character '<' in regular expression.
lib/oauth-helper.js: line 5, col 39, Unexpected escaped character '<' in regular expression.
lib/oauth-helper.js: line 5, col 44, Unexpected escaped character '<' in regular expression.
lib/oauth-helper.js: line 6, col 22, Unexpected escaped character '<' in regular expression.
lib/oauth-helper.js: line 6, col 47, Unexpected escaped character '<' in regular expression.
lib/oauth-helper.js: line 6, col 52, Unexpected escaped character '<' in regular expression.

1 个答案:

答案 0 :(得分:15)

没有必要逃避“&lt;”正则表达式中的字符。这就是JSLint告诉你的事情 - 你的“&lt;”之前的反斜杠模式中的字符是不必要的。