我试图从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"]