比方说我有:
/(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+{/
您可以使用非捕获组:
(?: ... )
Run Code Online (Sandbox Code Playgroud)
从MDN文档:
(?:x)匹配'x'但不记得匹配.这些被称为非捕获括号.无法从结果数组的元素中调用匹配的子字符串[1], ..., [n].