Java 为什么JS脚本中会出现错误?

Java 为什么JS脚本中会出现错误?,java,javascript,nashorn,Java,Javascript,Nashorn,我正在运行一个JS脚本,这是正确的,但在Nashorn中运行时出现了一个错误。为什么会出现这种错误?当只编译JS并脱离Nashorn时,它会正确运行,不会显示错误,但这只发生在Nashorn中 JS 日志 该字符串不是有效的正则表达式,并且数组为空,因此测试将返回false。以下是一个有效版本: var isPeso = /(?:k|m|g)b$/; 该字符串不是有效的正则表达式,并且数组为空,因此测试将返回false。以下是一个有效版本: var isPeso = /(?:k|m|g)b$/

我正在运行一个JS脚本,这是正确的,但在Nashorn中运行时出现了一个错误。为什么会出现这种错误?当只编译JS并脱离Nashorn时,它会正确运行,不会显示错误,但这只发生在Nashorn中

JS

日志


该字符串不是有效的正则表达式,并且数组为空,因此测试将返回false。以下是一个有效版本:

var isPeso = /(?:k|m|g)b$/;

该字符串不是有效的正则表达式,并且数组为空,因此测试将返回false。以下是一个有效版本:

var isPeso = /(?:k|m|g)b$/;
您的模式无效,缺少/个字符:

var isPeso = /(?:k|m|g)b$/;
作为提示,您可以向字符串原型添加一个函数,这样您就可以编写contains方法而不是检查indexOf

这将使您的代码更具可读性

@mplungjan在时间响应方面击败了我:

您的模式无效,您缺少/个字符:

var isPeso = /(?:k|m|g)b$/;
作为提示,您可以向字符串原型添加一个函数,这样您就可以编写contains方法而不是检查indexOf

这将使您的代码更具可读性

@mplungjan在时间响应方面击败了我:

String.prototype.contains = function(input) { return this.indexOf(input) != -1; };