让我说我有:
/(private|public|protected)\s+function\s+(\w+)\((.*)\)\s+{/gi
匹配函数声明的开头。我不想使用(private|public|protected)
,因为(
和)
会进行反向引用,但我无法使用[
和]
,因为他们不会不匹配完整的单词。
基本上,我只希望函数名称为$1
,参数为$2
。
谢谢大家。
**编辑**
根据答案,我使用了?:
例如。 /(?:private|public|protected)\s+function\s+(\w+)\((.*)\)\s+{/
答案 0 :(得分:7)
您可以使用非捕获组:
(?: ... )
(?:x)
匹配'x'
但不记得匹配。这些被称为非捕获括号。无法从结果数组的元素[1], ..., [n]
中调用匹配的子字符串。