使用String.search(“sinh(2”):“”时出错;无效的正则表达式“”;

Error when using String.search("sinh(2"): "Invalid regular expression"

本文关键字:无效 出错 正则表达式 sinh String 使用 search      更新时间:2023-09-26

我有以下问题:

var test = $("#k_w").val().search("sinh("+parseFloat(sinh_array[i]));

调试器显示一个错误:Uncaught SyntaxError: Invalid regular expression: /sinh(2/: Unterminated group

CCD_ 2是数字。

怎么了?

String.search方法将第一个参数转换为正则表达式。

您正在寻找String.indexOf方法,该方法搜索字符串,而不转换为RegExp。

var test = $("#k_w").val().indexOf("sinh("+parseFloat(sinh_array[i]));
//                         ^^^^^^^ indexOf

正则表达式中有一个左括号,但没有右括号。

我认为你真正想要的是:

var test = $("#k_w").val().search("sinh''("+parseFloat(sinh_array[i]) + "'')");

我怀疑你想匹配实际的parens,而不是创建一个组。

您必须在regexp中转义括号;否则,他们开始一个比赛组,因此不得不再次关闭。

var test = $("#k_w").val().search("sinh''("+parseFloat(sinh_array[i]));