JS正则表达式匹配单词选项没有backref

Jac*_*nkr 0 javascript regex

比方说我有:

/(private|public|protected)\s+function\s+(\w+)\((.*)\)\s+{/gi
Run Code Online (Sandbox Code Playgroud)

匹配函数声明的开头.我不想使用,(private|public|protected)因为(并且)进行反向引用,但我不能使用[,]因为它们与完整的单词不匹配.

基本上,我只希望函数名称$1和参数为$2.

谢谢大家.

**编辑**

根据答案,我用过 ?:

例如. /(?:private|public|protected)\s+function\s+(\w+)\((.*)\)\s+{/

Fel*_*ing 7

您可以使用非捕获组:

(?: ... )
Run Code Online (Sandbox Code Playgroud)

MDN文档:

(?:x) 匹配'x'但不记得匹配.这些被称为非捕获括号.无法从结果数组的元素中调用匹配的子字符串[1], ..., [n].