我正在尝试使用正则表达式来匹配以下两种字符串类型:
Name(p0, p1,...pN)
和:
Name()
我目前正在使用正则表达式:
@"[a-z]+\([^()]+\)"
我可以理解:
[a-z] = Match any character from a to z
我不太确定:
[^()] ?= Match any character between '(' and ')'
我相信它属于一个由以下表示的组:
\([^()]+\)
但同样,我不确定。
目前,该表达式适用于:
Name(p0, p1,...pN)
但是当括号之间没有逗号分隔字符时,我无法匹配。那是:
Name()
为什么第二个表达式失败?
编辑:
从您的回答中,我确定了以下内容(如有错误,请纠正我):
+ = ONE or more times
* = ZERO or more times
[] = Groups characters to match or ignore
^ = Logical NOT
[a-z]+ = Match a lowercase letter (ONE or more times)
\( = Match the character '('
[^()]* = Match anything that's NOT '(' or ')' (ZERO or more times)
\) = Match the character ')'