我试图从javascript中的字符串获取函数名称。

假设我有以下字符串:

function multiply($number) {
    return ($number * 2);
}

我在javascript中使用以下正则表达式:
/([a-zA-Z_{1}][a-zA-Z0-9_]+)\(/g

但是,选择的是multiply(。错了我想要的是不含multiply(这个词,尽管正则表达式应记住,函数名称必须附加一个(

我做不到。我该如何为此制作合适的正则表达式?我知道这不是我真正应该做的事情,而且它对错误非常敏感,但是我仍然想尝试使这项工作生效。

最佳答案

只需将最后一个\)替换为(?=\()

`function multiply($number) {
    return ($number * 2);
}`.match(/([a-zA-Z_{1}][a-zA-Z0-9_]+)(?=\()/g) // ["multiply"]

10-06 15:23